Step
*
1
1
of Lemma
C_TYPE-induction3
1. [P] : C_TYPE() ⟶ ℙ
2. P[C_Void()]@i
3. P[C_Int()]@i
4. ∀fields:(Atom × C_TYPE()) List. ((∀ct∈map(λp.(snd(p));fields).P[ct]) 
⇒ P[C_Struct(fields)])@i
5. fields : (Atom × C_TYPE()) List@i
6. ∀i:ℕ||fields||. P[snd(fields[i])]@i
⊢ (∀ct∈map(λp.(snd(p));fields).P[ct])
BY
{ ((D 0 THEN Auto) THEN RWO  "select-map" 0 THEN Reduce 0 THEN Auto) }
Latex:
Latex:
1.  [P]  :  C\_TYPE()  {}\mrightarrow{}  \mBbbP{}
2.  P[C\_Void()]@i
3.  P[C\_Int()]@i
4.  \mforall{}fields:(Atom  \mtimes{}  C\_TYPE())  List.  ((\mforall{}ct\mmember{}map(\mlambda{}p.(snd(p));fields).P[ct])  {}\mRightarrow{}  P[C\_Struct(fields)])@i
5.  fields  :  (Atom  \mtimes{}  C\_TYPE())  List@i
6.  \mforall{}i:\mBbbN{}||fields||.  P[snd(fields[i])]@i
\mvdash{}  (\mforall{}ct\mmember{}map(\mlambda{}p.(snd(p));fields).P[ct])
By
Latex:
((D  0  THEN  Auto)  THEN  RWO    "select-map"  0  THEN  Reduce  0  THEN  Auto)
Home
Index