Step
*
2
1
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. s : Sequent
9. r : Rule
10. y : Unit
11. (effect <s, r>) = (inr y ) ∈ (Sequent List?)
12. Q[proof-abort(s;r)]
13. f : Void ⟶ proof-tree(Sequent;Rule;effect)
14. ∀b:Void. Q[f b]
⊢ f = (λx.x) ∈ (case effect <s, r> of inl(subgoals) => ℕ||subgoals|| | inr(x) => Void ⟶ proof-tree(Sequent;Rule;effect)\000C)
BY
{ TACTIC:(FunExt THENA Auto) }
1
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. s : Sequent
9. r : Rule
10. y : Unit
11. (effect <s, r>) = (inr y ) ∈ (Sequent List?)
12. Q[proof-abort(s;r)]
13. f : Void ⟶ proof-tree(Sequent;Rule;effect)
14. ∀b:Void. Q[f b]
15. x : case effect <s, r> of inl(subgoals) => ℕ||subgoals|| | inr(x) => Void
⊢ (f x) = ((λx.x) x) ∈ proof-tree(Sequent;Rule;effect)
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{}  f  =  (\mlambda{}x.x)
By
Latex:
TACTIC:(FunExt  THENA  Auto)
Home
Index