| CInitto(m, Act, CS), CInv(n, Act, CS), m ≤ n ⊦ [: Act, Inp, CS, Outp | CRelyto(m, Act', CS', Act'', CS'') , CGuarto(m, Act, CS, Act', CS') , CInv(n, Act, CS) , CSPAWN(m; Act, Inp, CS, Outp) ] CInv(n, Act, CS) |
CInitto(0, Act, CS), CInv(n, Act, CS), 0 ≤ n ⊦ [: Act, Inp, CS, Outp | CRelyto(0, Act', CS', Act'', CS'') , CGuarto(0, Act, CS, Act', CS') , CInv(n, Act, CS) , CSPAWN(0; Act, Inp, CS, Outp) ] CInv(n, Act, CS)
\A ∀ Act, CS, n, Inp, Outp. CInitto(m0, Act, CS) ∧ CInv(n, Act, CS) ∧ m0 ≤ n → [: Act, Inp, CS, Outp | CRelyto(m0, Act', CS', Act'', CS'') , CGuarto(m0, Act, CS, Act', CS') , CInv(n, Act, CS) , CSPAWN(m0; Act, Inp, CS, Outp) ] CInv(n, Act, CS), CInitto(m0 +1, Act, CS), CInv(n, Act, CS), m0 +1 ≤ n ⊦ [: Act, Inp, CS, Outp | CRelyto(m0 +1, Act', CS', Act'', CS'') , CGuarto(m0 +1, Act, CS, Act', CS') , CInv(n, Act, CS) , CSPAWN(m0 +1; Act, Inp, CS, Outp) ] CInv(n, Act, CS)
Used simplifier rules: nat freely generated by 0, +1;;