Step
*
3
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. element : Form(C)
15. set : Form(C)
16. (↑wfForm(element)) 
⇒ (↑SafeForm(element)) 
⇒ if termForm(element) then T[element] else F[element] fi 
17. (↑wfForm(set)) 
⇒ (↑SafeForm(set)) 
⇒ if termForm(set) then T[set] else F[set] fi 
18. ↑((wfFormAux(element) tt) ∧b (wfFormAux(set) tt))
19. ↑(SafeForm(element) ∧b SafeForm(set))
⊢ F[element ∈ set]
BY
{ ((All (RW assert_pushdownC) THEN Auto)
   THEN All (Unfold `wfForm`)
   THEN ∀h:hyp. ((FLemma `wfFormAux-unique` [h] THENA Auto) THEN EliminateEquation' (-1)) 
   THEN All Reduce
   THEN Auto
   THEN BackThruSomeHyp
   THEN Auto
   THEN Repeat ((MemTypeCD THEN Auto))
   THEN Try (Unfold `wfForm` 0)
   THEN ∀h:hyp. ((FLemma `wfFormAux-unique` [h] THENA Auto) THEN EliminateEquation' (-1)) 
   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.  element  :  Form(C)
15.  set  :  Form(C)
16.  (\muparrow{}wfForm(element))
{}\mRightarrow{}  (\muparrow{}SafeForm(element))
{}\mRightarrow{}  if  termForm(element)  then  T[element]  else  F[element]  fi 
17.  (\muparrow{}wfForm(set))  {}\mRightarrow{}  (\muparrow{}SafeForm(set))  {}\mRightarrow{}  if  termForm(set)  then  T[set]  else  F[set]  fi 
18.  \muparrow{}((wfFormAux(element)  tt)  \mwedge{}\msubb{}  (wfFormAux(set)  tt))
19.  \muparrow{}(SafeForm(element)  \mwedge{}\msubb{}  SafeForm(set))
\mvdash{}  F[element  \mmember{}  set]
By
Latex:
((All  (RW  assert\_pushdownC)  THEN  Auto)
  THEN  All  (Unfold  `wfForm`)
  THEN  \mforall{}h:hyp.  ((FLemma  `wfFormAux-unique`  [h]  THENA  Auto)  THEN  EliminateEquation'  (-1)) 
  THEN  All  Reduce
  THEN  Auto
  THEN  BackThruSomeHyp
  THEN  Auto
  THEN  Repeat  ((MemTypeCD  THEN  Auto))
  THEN  Try  (Unfold  `wfForm`  0)
  THEN  \mforall{}h:hyp.  ((FLemma  `wfFormAux-unique`  [h]  THENA  Auto)  THEN  EliminateEquation'  (-1)) 
  THEN  Auto)
Home
Index