Step * 2 of Lemma proof-tree-induction


1. [Sequent] Type
2. [Rule] Type
3. effect (Sequent × Rule) ⟶ (Sequent List?)
4. [Q] proof-tree(Sequent;Rule;effect) ⟶ ℙ
5. ∀s:Sequent. ∀r:Rule.  Q[proof-abort(s;r)] supposing ↑isr(effect <s, r>)
6. ∀s:Sequent. ∀r:Rule.
     ∀L:proof-tree(Sequent;Rule;effect) List
       (∀pf∈L.Q[pf])  Q[make-proof-tree(s;r;L)] supposing ||L|| ||outl(effect <s, r>)|| ∈ ℤ 
     supposing ↑isl(effect <s, r>)
7. pf proof-tree(Sequent;Rule;effect)
8. Sequent
9. Rule
10. Unit
11. (effect <s, r>(inr ) ∈ (Sequent List?)
12. Q[proof-abort(s;r)]
13. Void ⟶ proof-tree(Sequent;Rule;effect)
14. ∀b:Void. Q[f b]
⊢ Q[Wsup(<s, r>;f)]
BY
TACTIC:(NthHypEq (-3)
          THEN EqCD
          THEN Auto
          THEN Unfold `proof-abort` 0
          THEN RW (AddrC [3] (FoldTopC `Wsup`)) 0
          THEN Unfold `proof-tree` 0
          THEN EqCD
          THEN All (Fold `proof-tree`)
          THEN Auto) }

1
1. Sequent Type
2. Rule Type
3. effect (Sequent × Rule) ⟶ (Sequent List?)
4. proof-tree(Sequent;Rule;effect) ⟶ ℙ
5. ∀s:Sequent. ∀r:Rule.  Q[proof-abort(s;r)] supposing ↑isr(effect <s, r>)
6. ∀s:Sequent. ∀r:Rule.
     ∀L:proof-tree(Sequent;Rule;effect) List
       (∀pf∈L.Q[pf])  Q[make-proof-tree(s;r;L)] supposing ||L|| ||outl(effect <s, r>)|| ∈ ℤ 
     supposing ↑isl(effect <s, r>)
7. pf proof-tree(Sequent;Rule;effect)
8. Sequent
9. Rule
10. Unit
11. (effect <s, r>(inr ) ∈ (Sequent List?)
12. Q[proof-abort(s;r)]
13. Void ⟶ proof-tree(Sequent;Rule;effect)
14. ∀b:Void. Q[f b]
⊢ x.x) ∈ (case effect <s, r> of inl(subgoals) => ℕ||subgoals|| inr(x) => Void ⟶ proof-tree(Sequent;Rule;effect)\000C)


Latex:


Latex:

1.  [Sequent]  :  Type
2.  [Rule]  :  Type
3.  effect  :  (Sequent  \mtimes{}  Rule)  {}\mrightarrow{}  (Sequent  List?)
4.  [Q]  :  proof-tree(Sequent;Rule;effect)  {}\mrightarrow{}  \mBbbP{}
5.  \mforall{}s:Sequent.  \mforall{}r:Rule.    Q[proof-abort(s;r)]  supposing  \muparrow{}isr(effect  <s,  r>)
6.  \mforall{}s:Sequent.  \mforall{}r:Rule.
          \mforall{}L:proof-tree(Sequent;Rule;effect)  List
              (\mforall{}pf\mmember{}L.Q[pf])  {}\mRightarrow{}  Q[make-proof-tree(s;r;L)]  supposing  ||L||  =  ||outl(effect  <s,  r>)|| 
          supposing  \muparrow{}isl(effect  <s,  r>)
7.  pf  :  proof-tree(Sequent;Rule;effect)
8.  s  :  Sequent
9.  r  :  Rule
10.  y  :  Unit
11.  (effect  <s,  r>)  =  (inr  y  )
12.  Q[proof-abort(s;r)]
13.  f  :  Void  {}\mrightarrow{}  proof-tree(Sequent;Rule;effect)
14.  \mforall{}b:Void.  Q[f  b]
\mvdash{}  Q[Wsup(<s,  r>f)]


By


Latex:
TACTIC:(NthHypEq  (-3)
                THEN  EqCD
                THEN  Auto
                THEN  Unfold  `proof-abort`  0
                THEN  RW  (AddrC  [3]  (FoldTopC  `Wsup`))  0
                THEN  Unfold  `proof-tree`  0
                THEN  EqCD
                THEN  All  (Fold  `proof-tree`)
                THEN  Auto)




Home Index