Step
*
1
of Lemma
PZF-induction
1. C : Type
2. [F] : PZF-Formula(C) ⟶ ℙ
3. [T] : PZF-Term(C) ⟶ ℙ
4. ∀name:Atom. T[Vname]
5. ∀value:C. T[Const(value)]
6. ∀x:Atom. ∀phi:PZF-Formula(C).  (F[phi] 
⇒ PZF-safe(phi;[x]) 
⇒ T[{x | phi}])
7. ∀a,b:PZF-Term(C).  (T[a] 
⇒ T[b] 
⇒ F[a = b])
8. ∀a,b:PZF-Term(C).  (T[a] 
⇒ T[b] 
⇒ F[a ∈ b])
9. ∀a,b:PZF-Formula(C).  (F[a] 
⇒ F[b] 
⇒ F[a ∧ b)])
10. ∀a,b:PZF-Formula(C).  (F[a] 
⇒ F[b] 
⇒ F[a ∨ b])
11. ∀a:PZF-Formula(C). (F[a] 
⇒ F[¬(a)])
12. ∀a:PZF-Formula(C). ∀x:Atom.  (F[a] 
⇒ F[∀x. a])
13. ∀a:PZF-Formula(C). ∀x:Atom.  (F[a] 
⇒ F[∃x. a])
14. var : Atom
15. phi : Form(C)
16. (↑wfForm(phi)) 
⇒ (↑SafeForm(phi)) 
⇒ if termForm(phi) then T[phi] else F[phi] fi 
17. ↑(wfFormAux(phi) ff)
18. ↑(SafeForm(phi) ∧b PZF_safe(phi;[var]))
⊢ T[{var | phi}]
BY
{ ((All (RW assert_pushdownC) THEN Auto)
   THEN All (Unfold `wfForm`)
   THEN (FLemma `wfFormAux-unique` [17] THENA Auto)
   THEN EliminateEquation' (-1)
   THEN (All Reduce THEN Auto)
   THEN (BackThruSomeHyp THEN Auto)
   THEN RWO "assert-PZF_safe" (-3)
   THEN Auto) }
Latex:
Latex:
1.  C  :  Type
2.  [F]  :  PZF-Formula(C)  {}\mrightarrow{}  \mBbbP{}
3.  [T]  :  PZF-Term(C)  {}\mrightarrow{}  \mBbbP{}
4.  \mforall{}name:Atom.  T[Vname]
5.  \mforall{}value:C.  T[Const(value)]
6.  \mforall{}x:Atom.  \mforall{}phi:PZF-Formula(C).    (F[phi]  {}\mRightarrow{}  PZF-safe(phi;[x])  {}\mRightarrow{}  T[\{x  |  phi\}])
7.  \mforall{}a,b:PZF-Term(C).    (T[a]  {}\mRightarrow{}  T[b]  {}\mRightarrow{}  F[a  =  b])
8.  \mforall{}a,b:PZF-Term(C).    (T[a]  {}\mRightarrow{}  T[b]  {}\mRightarrow{}  F[a  \mmember{}  b])
9.  \mforall{}a,b:PZF-Formula(C).    (F[a]  {}\mRightarrow{}  F[b]  {}\mRightarrow{}  F[a  \mwedge{}  b)])
10.  \mforall{}a,b:PZF-Formula(C).    (F[a]  {}\mRightarrow{}  F[b]  {}\mRightarrow{}  F[a  \mvee{}  b])
11.  \mforall{}a:PZF-Formula(C).  (F[a]  {}\mRightarrow{}  F[\mneg{}(a)])
12.  \mforall{}a:PZF-Formula(C).  \mforall{}x:Atom.    (F[a]  {}\mRightarrow{}  F[\mforall{}x.  a])
13.  \mforall{}a:PZF-Formula(C).  \mforall{}x:Atom.    (F[a]  {}\mRightarrow{}  F[\mexists{}x.  a])
14.  var  :  Atom
15.  phi  :  Form(C)
16.  (\muparrow{}wfForm(phi))  {}\mRightarrow{}  (\muparrow{}SafeForm(phi))  {}\mRightarrow{}  if  termForm(phi)  then  T[phi]  else  F[phi]  fi 
17.  \muparrow{}(wfFormAux(phi)  ff)
18.  \muparrow{}(SafeForm(phi)  \mwedge{}\msubb{}  PZF\_safe(phi;[var]))
\mvdash{}  T[\{var  |  phi\}]
By
Latex:
((All  (RW  assert\_pushdownC)  THEN  Auto)
  THEN  All  (Unfold  `wfForm`)
  THEN  (FLemma  `wfFormAux-unique`  [17]  THENA  Auto)
  THEN  EliminateEquation'  (-1)
  THEN  (All  Reduce  THEN  Auto)
  THEN  (BackThruSomeHyp  THEN  Auto)
  THEN  RWO  "assert-PZF\_safe"  (-3)
  THEN  Auto)
Home
Index