Step
*
1
1
of Lemma
C_TYPE-induction2
1. [P] : C_TYPE() ⟶ ℙ
2. P[C_Void()]@i
3. P[C_Int()]@i
4. ∀fields:(Atom × C_TYPE()) List. ((∀i:ℕ||fields||. P[snd(fields[i])]) 
⇒ P[C_Struct(fields)])@i
5. fields : (Atom × C_TYPE()) List@i
6. ∀i:ℕ||fields||. let u1,u2 = fields[i] in P[u2]@i
7. i : ℕ||fields||@i
8. v1 : Atom@i
9. v2 : C_TYPE()@i
10. fields[i] = <v1, v2> ∈ (Atom × C_TYPE())@i
⊢ P[v2] 
⇒ P[v2]
BY
{ 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{}i:\mBbbN{}||fields||.  P[snd(fields[i])])  {}\mRightarrow{}  P[C\_Struct(fields)])@i
5.  fields  :  (Atom  \mtimes{}  C\_TYPE())  List@i
6.  \mforall{}i:\mBbbN{}||fields||.  let  u1,u2  =  fields[i]  in  P[u2]@i
7.  i  :  \mBbbN{}||fields||@i
8.  v1  :  Atom@i
9.  v2  :  C\_TYPE()@i
10.  fields[i]  =  <v1,  v2>@i
\mvdash{}  P[v2]  {}\mRightarrow{}  P[v2]
By
Latex:
Auto
Home
Index