| ≤B(cioaut, aioaut) ⊦ ≤BI(cioaut, aioaut) |
≤B(cioaut, aioaut), ¬ ≤BI(cioaut, aioaut) ⊦
| ≤B(cioaut, aioaut), ¬ ≤BI(cioaut, aioaut) ⊦ |
⊦ ≤B(cioaut, aioaut) ↔ (∃ t. bwsim(cioaut, aioaut, t))
¬ ≤BI(cioaut, aioaut), ∃ t. bwsim(cioaut, aioaut, t) ⊦
Used terms: cioaut, aioaut
| ⊦ ≤B(cioaut, aioaut) ↔ (∃ t. bwsim(cioaut, aioaut, t)) |
| ¬ ≤BI(cioaut, aioaut), ∃ t. bwsim(cioaut, aioaut, t) ⊦ |
bwsim(cioaut, aioaut, t), ¬ ≤BI(cioaut, aioaut) ⊦
| bwsim(cioaut, aioaut, t), ¬ ≤BI(cioaut, aioaut) ⊦ |
⊦ ≤BI(cioaut, aioaut) ↔ (∃ t, aINV, cINV. bwsim(cioaut, aioaut, t, cINV, aINV))
bwsim(cioaut, aioaut, t), ∀ t, aINV, cINV. ¬ bwsim(cioaut, aioaut, t, cINV, aINV) ⊦
Used terms: cioaut, aioaut
| ⊦ ≤BI(cioaut, aioaut) ↔ (∃ t, aINV, cINV. bwsim(cioaut, aioaut, t, cINV, aINV)) |
| bwsim(cioaut, aioaut, t), ∀ t, aINV, cINV. ¬ bwsim(cioaut, aioaut, t, cINV, aINV) ⊦ |
cioaut = IOAut(cINV0, cstep, cext), bwsim(cioaut, aioaut, t), ∀ t, aINV, cINV. ¬ bwsim(cioaut, aioaut, t, cINV, aINV) ⊦
Used simplifier rules: IOAutomaton('s, 'a, 'e) freely generated by IOAut;;
| cioaut = IOAut(cINV0, cstep, cext), bwsim(cioaut, aioaut, t), ∀ t, aINV, cINV. ¬ bwsim(cioaut, aioaut, t, cINV, aINV) ⊦ |
bwsim(IOAut(cINV0, cstep, cext), aioaut, t), ∀ t, aINV, cINV. ¬ bwsim(IOAut(cINV0, cstep, cext), aioaut, t, cINV, aINV) ⊦
| bwsim(IOAut(cINV0, cstep, cext), aioaut, t), ∀ t, aINV, cINV. ¬ bwsim(IOAut(cINV0, cstep, cext), aioaut, t, cINV, aINV) ⊦ |
aioaut = IOAut(aINV0, astep, aext), bwsim(IOAut(cINV0, cstep, cext), aioaut, t), ∀ t, aINV, cINV. ¬ bwsim(IOAut(cINV0, cstep, cext), aioaut, t, cINV, aINV) ⊦
Used simplifier rules: IOAutomaton('s, 'a, 'e) freely generated by IOAut;;
| aioaut = IOAut(aINV0, astep, aext), bwsim(IOAut(cINV0, cstep, cext), aioaut, t), ∀ t, aINV, cINV. ¬ bwsim(IOAut(cINV0, cstep, cext), aioaut, t, cINV, aINV) ⊦ |
bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t), ∀ t, aINV, cINV. ¬ bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t, cINV, aINV) ⊦
| bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t), ∀ t, aINV, cINV. ¬ bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t, cINV, aINV) ⊦ |
⊦ bwsim(IOAut(cstart, cstep, cext), IOAut(astart, astep, aext), t) ↔ bwsim(IOAut(cstart, cstep, cext), IOAut(astart, astep, aext), t, λ cs. true, λ as. true)
bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t) ↔ bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t, λ cs. true, λ as. true), bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t), ∀ t, aINV, cINV. ¬ bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t, cINV, aINV) ⊦
Used terms: astep, aINV0, t, aext, cINV0, cstep, cext
| ⊦ bwsim(IOAut(cstart, cstep, cext), IOAut(astart, astep, aext), t) ↔ bwsim(IOAut(cstart, cstep, cext), IOAut(astart, astep, aext), t, λ cs. true, λ as. true) |
| bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t) ↔ bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t, λ cs. true, λ as. true), bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t), ∀ t, aINV, cINV. ¬ bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t, cINV, aINV) ⊦ |
bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t), bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t, λ cs. true, λ as. true), ∀ t, aINV, cINV. ¬ bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t, cINV, aINV) ⊦
| bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t), bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t, λ cs. true, λ as. true), ∀ t, aINV, cINV. ¬ bwsim(IOAut(cINV0, cstep, cext), IOAut(aINV0, astep, aext), t, cINV, aINV) ⊦ |
Used terms: t, λ as. true, λ cs. true
The following image shows the proof tree of sequent calculus. The proved goal is at the bottom. You can click on the nodes to view additional rules. See here for details on colors in a proof tree.