case(x)
  var(name)=>var[name]
  basic(val)=>basic[val]
  operator(name)=>op[name]
  fun(arg)=>rec1,rec2.apply[fun; arg; rec1; rec2]
  lambda v1. body=>rec1.lambda[v1; body; rec1]
  let lhs = rsh in body=> rec1,rec2.let[lhs; rsh; body; rec1; rec2]) ==
  Y 
  (
esharp_exp_ind,x.
    case x
    of inl(x) =>
     var[x]
     | inr(x) =>
     case x
     of inl(x) =>
      basic[x]
      | inr(x) =>
      case x
      of inl(x) =>
       op[x]
       | inr(x) =>
       case x
       of inl(x) =>
        apply[fst(x); snd(x); esharp_exp_ind (fst(x)); esharp_exp_ind (snd(x))]
        | inr(x) =>
        case x
        of inl(x) =>
         lambda[fst(x); snd(x); esharp_exp_ind (snd(x))]
         | inr(x) =>
         let[fst(x); fst(snd(x)); snd(snd(x)); esharp_exp_ind 
                                               (fst(snd(x))); esharp_exp_ind 
                                                              (snd(snd(x)))]) 
  x
Definitions occuring in Statement : 
pi1: fst(t), 
pi2: snd(t), 
ycomb: Y, 
apply: f a, 
lambda:
x.A[x], 
decide: case b of inl(x) => s[x] | inr(y) => t[y]
Definitions : 
ycomb: Y, 
lambda:
x.A[x], 
decide: case b of inl(x) => s[x] | inr(y) => t[y], 
pi1: fst(t), 
apply: f a, 
pi2: snd(t)
FDL editor aliases : 
esharp_exp_ind
esharp_exp_ind
case(x)
    var(name)=>var[name]
    basic(val)=>basic[val]
    operator(name)=>op[name]
    fun(arg)=>rec1,rec2.apply[fun;  arg;  rec1;  rec2]
    lambda  v1.  body=>rec1.lambda[v1;  body;  rec1]
    let  lhs  =  rsh  in  body=>  rec1,rec2.let[lhs;  rsh;  body;  rec1;  rec2])  ==
    Y 
    (\mlambda{}esharp\_exp$_{ind}$,x.
        case  x
        of  inl(x)  =>
          var[x]
          |  inr(x)  =>
          case  x
          of  inl(x)  =>
            basic[x]
            |  inr(x)  =>
            case  x
            of  inl(x)  =>
              op[x]
              |  inr(x)  =>
              case  x
              of  inl(x)  =>
                apply[fst(x);  snd(x);  esharp\_exp$_{ind}$  (fst(x));  esharp\_exp$_\mbackslash{}\000Cff7bind}$  (snd(x))]
                |  inr(x)  =>
                case  x
                of  inl(x)  =>
                  lambda[fst(x);  snd(x);  esharp\_exp$_{ind}$  (snd(x))]
                  |  inr(x)  =>
                  let[fst(x);  fst(snd(x));  snd(snd(x));  esharp\_exp$_{ind}$  (fst(snd(x)));\000C  esharp\_exp$_{ind}$ 
                                                                                                                                                        (snd(snd(x)))]) 
    x
Date html generated:
2011_08_17-PM-05_14_11
Last ObjectModification:
2011_02_03-PM-04_32_34
Home
Index