Nuprl Lemma : RankEx1_ind_wf_simple

∀[T,A:Type]. ∀[v:RankEx1(T)]. ∀[Leaf:leaf:T ⟶ A]. ∀[Prod:prod:(RankEx1(T) × RankEx1(T))
                                                          ⟶ let u,u1 = prod 
                                                             in A ∧ A
                                                          ⟶ A]. ∀[ProdL:prodl:(T × RankEx1(T))
                                                                         ⟶ let u,u1 = prodl 
                                                                            in A
                                                                         ⟶ A]. ∀[ProdR:prodr:(RankEx1(T) × T)
                                                                                        ⟶ let u,u1 = prodr 
                                                                                           in A
                                                                                        ⟶ A].
∀[List:list:(RankEx1(T) List) ⟶ (∀u∈list.A) ⟶ A].
  (RankEx1_ind(v;
               RankEx1_Leaf(leaf)⇒ Leaf[leaf];
               RankEx1_Prod(prod)⇒ rec1.Prod[prod;rec1];
               RankEx1_ProdL(prodl)⇒ rec2.ProdL[prodl;rec2];
               RankEx1_ProdR(prodr)⇒ rec3.ProdR[prodr;rec3];
               RankEx1_List(list)⇒ rec4.List[list;rec4])  ∈ A)


Proof




Definitions occuring in Statement :  RankEx1_ind: RankEx1_ind,  RankEx1: RankEx1(T),  l_all: (∀x∈L.P[x]),  list: T List,  uall: ∀[x:A]. B[x],  so_apply: x[s1;s2],  so_apply: x[s],  and: P ∧ Q,  member: t ∈ T,  function: x:A ⟶ B[x],  spread: spread def,  product: x:A × B[x],  universe: Type
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  so_lambda: λ2x y.t[x; y],  so_apply: x[s1;s2],  subtype_rel: A ⊆r B,  so_lambda: λ2x.t[x],  so_apply: x[s],  prop: ℙ,  uimplies: b supposing a,  all: ∀x:A. B[x],  true: True,  and: P ∧ Q,  implies: P ⇒ Q,  guard: {T}
Lemmas referenced :  RankEx1_ind_wf,  true_wf,  RankEx1_wf,  subtype_rel_dep_function,  and_wf,  set_wf,  subtype_rel_product,  list_wf,  l_all_wf2,  l_member_wf,  subtype-l_all
Rules used in proof :  cut,  lemma_by_obid,  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  hypothesis,  sqequalHypSubstitution,  isectElimination,  thin,  hypothesisEquality,  sqequalRule,  lambdaEquality,  applyEquality,  because_Cache,  setEquality,  independent_isectElimination,  lambdaFormation,  dependent_set_memberEquality,  natural_numberEquality,  productEquality,  functionEquality,  spreadEquality,  productElimination,  setElimination,  rename,  equalityTransitivity,  equalitySymmetry,  universeEquality

Latex:
\mforall{}[T,A:Type].  \mforall{}[v:RankEx1(T)].  \mforall{}[Leaf:leaf:T  {}\mrightarrow{}  A].  \mforall{}[Prod:prod:(RankEx1(T)  \mtimes{}  RankEx1(T))
                                                                                                                    {}\mrightarrow{}  let  u,u1  =  prod 
                                                                                                                          in  A  \mwedge{}  A
                                                                                                                    {}\mrightarrow{}  A].  \mforall{}[ProdL:prodl:(T  \mtimes{}  RankEx1(T))
                                                                                                                                                  {}\mrightarrow{}  let  u,u1  =  prodl 
                                                                                                                                                        in  A
                                                                                                                                                  {}\mrightarrow{}  A].
\mforall{}[ProdR:prodr:(RankEx1(T)  \mtimes{}  T)  {}\mrightarrow{}  let  u,u1  =  prodr  in  A  {}\mrightarrow{}  A].  \mforall{}[List:list:(RankEx1(T)  List)
                                                                                                                                            {}\mrightarrow{}  (\mforall{}u\mmember{}list.A)
                                                                                                                                            {}\mrightarrow{}  A].
    (RankEx1\_ind(v;
                              RankEx1\_Leaf(leaf){}\mRightarrow{}  Leaf[leaf];
                              RankEx1\_Prod(prod){}\mRightarrow{}  rec1.Prod[prod;rec1];
                              RankEx1\_ProdL(prodl){}\mRightarrow{}  rec2.ProdL[prodl;rec2];
                              RankEx1\_ProdR(prodr){}\mRightarrow{}  rec3.ProdR[prodr;rec3];
                              RankEx1\_List(list){}\mRightarrow{}  rec4.List[list;rec4])    \mmember{}  A)



Date html generated: 2016_05_16-AM-08_58_49
Last ObjectModification: 2015_12_28-PM-06_51_51

Theory : C-semantics


Home Index