Nuprl Definition : RankEx1_ind
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])  ==
  fix((λRankEx1_ind,v. let lbl,v1 = v 
                       in if lbl="Leaf" then Leaf[v1]
                          if lbl="Prod" then let v2,v3 = v1 in Prod[<v2, v3> <RankEx1_ind v2, RankEx1_ind v3>]
                          if lbl="ProdL" then let v2,v3 = v1 in ProdL[<v2, v3> RankEx1_ind v3]
                          if lbl="ProdR" then let v2,v3 = v1 in ProdR[<v2, v3> RankEx1_ind v2]
                          if lbl="List" then List[v1; λi.(RankEx1_ind v1[i])]
                          else ⊥
                          fi )) 
  v
Definitions occuring in Statement : 
select: L[n]
, 
bottom: ⊥
, 
atom_eq: if a=b then c else d fi 
, 
apply: f a
, 
fix: fix(F)
, 
lambda: λx.A[x]
, 
spread: spread def, 
pair: <a, b>
, 
token: "$token"
FDL editor aliases : 
RankEx1_ind
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])    ==
    fix((\mlambda{}RankEx1$_{ind}$,v.  let  lbl,v1  =  v 
                                            in  if  lbl="Leaf"  then  Leaf[v1]
                                                  if  lbl="Prod"
                                                      then  let  v2,v3  =  v1 
                                                                in  Prod[<v2,  v3>  <RankEx1$_{ind}$  v2,  RankEx1\mbackslash{}f\000Cf24_{ind}$  v3>]
                                                  if  lbl="ProdL"  then  let  v2,v3  =  v1  in  ProdL[<v2,  v3>  RankEx1$_\mbackslash{}ff7\000Cbind}$  v3]
                                                  if  lbl="ProdR"  then  let  v2,v3  =  v1  in  ProdR[<v2,  v3>  RankEx1$_\mbackslash{}ff7\000Cbind}$  v2]
                                                  if  lbl="List"  then  List[v1;  \mlambda{}i.(RankEx1$_{ind}$  v1[i])]
                                                  else  \mbot{}
                                                  fi  )) 
    v
Date html generated:
2015_07_17-AM-07_48_36
Last ObjectModification:
2014_05_06-PM-02_36_59
Home
Index