| □ (R1(pm, S', S'') ∧ R2(pm, S', S'')), [:S | false ::- [PL S = s0 ∧ □ R1(pm, S', S'') ∧ □ (last ⊃ Post1(pm, s, S);G1(pm, S, S'))] ∥ Boolvar ::- [PL S = s9]], N = N'' + 1 until Boolvar, \A ∀ N, Boolvar, R1, pm, S, R2, Post1, s, G1, s9, I, s3, Pre1, G2, Pre2, Post2. N < n → N = N'' +1 until Boolvar ∧ □ (R1(pm, S', S'') ∧ R2(pm, S', S'')) ∧ [:S | false ::- [PL □ R1(pm, S', S'') ∧ □ (last ⊃ Post1(pm, s, S);G1(pm, S, S'))] ∥ Boolvar ::- [PL S = s9]] ∧ I(pm, s3) ∧ RG-restr(pm, R1, G1, Pre1, Post1, I, R2, G2, Pre2, Post2) ∧ R2(pm, s3, S) ∧ I(pm, S) ∧ ¬ R2(pm, s3, s9) → false, n = N + 1, R2(pm, s3, s2), R2(pm, s1, S), I(pm, s2), I(pm, s3), RG-restr(pm, R1, G1, Pre1, Post1, I, R2, G2, Pre2, Post2), R2(pm, s3, s1), R1(pm, s2, S), R2(pm, s2, S), R1(pm, s2, s0), G1(pm, s1, s2), R2(pm, s1, s2), I(pm, s1), I(pm, s0), I(pm, S), R2(pm, s3, S), ¬ R2(pm, s3, s9) ⊦ |
□ (R1(pm, S', S'') ∧ R2(pm, S', S'')), [:S | false ::- [PL S = s0 ∧ □ R1(pm, S', S'') ∧ □ (last ⊃ Post1(pm, s, S);G1(pm, S, S'))] ∥ Boolvar ::- [PL S = s9]], N = N'' + 1 until Boolvar, \A ∀ N, Boolvar, R1, pm, S, R2, Post1, s, G1, s9, I, s3, Pre1, G2, Pre2, Post2. N < n → N = N'' +1 until Boolvar ∧ □ (R1(pm, S', S'') ∧ R2(pm, S', S'')) ∧ [:S | false ::- [PL □ R1(pm, S', S'') ∧ □ (last ⊃ Post1(pm, s, S);G1(pm, S, S'))] ∥ Boolvar ::- [PL S = s9]] ∧ I(pm, s3) ∧ RG-restr(pm, R1, G1, Pre1, Post1, I, R2, G2, Pre2, Post2) ∧ R2(pm, s3, S) ∧ I(pm, S) ∧ ¬ R2(pm, s3, s9) → false, n = N + 1, R2(pm, s3, s2), R2(pm, s1, S), I(pm, s2), I(pm, s3), RG-restr(pm, R1, G1, Pre1, Post1, I, R2, G2, Pre2, Post2), R2(pm, s3, s1), R1(pm, s2, S), R2(pm, s2, S), R1(pm, s2, s0), G1(pm, s1, s2), R2(pm, s1, s2), I(pm, s1), I(pm, s0), I(pm, S), R2(pm, s3, S), ¬ R2(pm, s3, s9) ⊦ N = N'' +1 until Boolvar ∧ □ (R1(pm, S', S'') ∧ R2(pm, S', S'')) ∧ [:S | false ::- [PL □ R1(pm, S', S'') ∧ □ (last ⊃ Post1(pm, s, S);G1(pm, S, S'))] ∥ Boolvar ::- [PL S = s9]] ∧ I(pm, s3) ∧ RG-restr(pm, R1, G1, Pre1, Post1, I, R2, G2, Pre2, Post2) ∧ R2(pm, s3, S) ∧ I(pm, S) ∧ ¬ R2(pm, s3, s9)
Used simplifier rules: s: ⊦ m < n + 1 ↔ ¬ n < m; from specification nat-basic2%ref-1: ⊦ ¬ n < n; from specification nat-basic1%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2 Used terms: N, Boolvar, R1, pm, S, R2, Post1, s, G1, s9, I, s3, Pre1, G2, Pre2, Post2