Step * of Lemma Form_ind_wf_simple

[C,A:Type]. ∀[v:Form(C)]. ∀[Var:name:Atom ⟶ A]. ∀[Const:value:C ⟶ A]. ∀[Set:var:Atom ⟶ phi:Form(C) ⟶ A ⟶ A].
[Equal,Member,And,Or:left:Form(C) ⟶ right:Form(C) ⟶ A ⟶ A ⟶ A]. ∀[Not:body:Form(C) ⟶ A ⟶ A].
[All,Exists:var:Atom ⟶ body:Form(C) ⟶ A ⟶ A].
  (Form_ind(v;
            FormVar(name) Var[name];
            FormConst(value) Const[value];
            FormSet(var,phi) rec1.Set[var;phi;rec1];
            FormEqual(left,right) rec2,rec3.Equal[left;right;rec2;rec3];
            FormMember(element,set) rec4,rec5.Member[element;set;rec4;rec5];
            FormAnd(left,right) rec6,rec7.And[left;right;rec6;rec7];
            FormOr(left,right) rec8,rec9.Or[left;right;rec8;rec9];
            FormNot(body) rec10.Not[body;rec10];
            FormAll(var,body) rec11.All[var;body;rec11];
            FormExists(var,body) rec12.Exists[var;body;rec12])  ∈ A)
BY
ProveDatatypeIndWfSimple `Form_ind_wf` }


Latex:


Latex:
\mforall{}[C,A:Type].  \mforall{}[v:Form(C)].  \mforall{}[Var:name:Atom  {}\mrightarrow{}  A].  \mforall{}[Const:value:C  {}\mrightarrow{}  A].  \mforall{}[Set:var:Atom
                                                                                                                                                              {}\mrightarrow{}  phi:Form(C)
                                                                                                                                                              {}\mrightarrow{}  A
                                                                                                                                                              {}\mrightarrow{}  A].
\mforall{}[Equal,Member,And,Or:left:Form(C)  {}\mrightarrow{}  right:Form(C)  {}\mrightarrow{}  A  {}\mrightarrow{}  A  {}\mrightarrow{}  A].  \mforall{}[Not:body:Form(C)  {}\mrightarrow{}  A  {}\mrightarrow{}  A].
\mforall{}[All,Exists:var:Atom  {}\mrightarrow{}  body:Form(C)  {}\mrightarrow{}  A  {}\mrightarrow{}  A].
    (Form\_ind(v;
                        FormVar(name){}\mRightarrow{}  Var[name];
                        FormConst(value){}\mRightarrow{}  Const[value];
                        FormSet(var,phi){}\mRightarrow{}  rec1.Set[var;phi;rec1];
                        FormEqual(left,right){}\mRightarrow{}  rec2,rec3.Equal[left;right;rec2;rec3];
                        FormMember(element,set){}\mRightarrow{}  rec4,rec5.Member[element;set;rec4;rec5];
                        FormAnd(left,right){}\mRightarrow{}  rec6,rec7.And[left;right;rec6;rec7];
                        FormOr(left,right){}\mRightarrow{}  rec8,rec9.Or[left;right;rec8;rec9];
                        FormNot(body){}\mRightarrow{}  rec10.Not[body;rec10];
                        FormAll(var,body){}\mRightarrow{}  rec11.All[var;body;rec11];
                        FormExists(var,body){}\mRightarrow{}  rec12.Exists[var;body;rec12])    \mmember{}  A)


By


Latex:
ProveDatatypeIndWfSimple  1  `Form\_ind\_wf`




Home Index