{ [P:Expression  ]
    ((val:Atom. P[val])
     (fst,snd:Expression.  (P[fst]  P[snd]  P[fst,snd]))
     (fun:Atom. arg:Expression.  (P[arg]  P[fun(arg)]))
     {x:Expression. P[x]}) }

{ Proof }



Definitions occuring in Statement :  expapply: fun(arg),  exppair: fst,snd,  expbase: val,  expression: Expression,  uall: [x:A]. B[x],  prop: ,  guard: {T},  so_apply: x[s],  all: x:A. B[x],  implies: P  Q,  function: x:A  B[x],  atom: Atom
Definitions :  uall: [x:A]. B[x],  prop: ,  implies: P  Q,  all: x:A. B[x],  so_apply: x[s],  guard: {T},  type-monotone: Monotone(T.F[T]),  uimplies: b supposing a,  member: t  T,  expression: Expression,  expbase: val,  exppair: fst,snd,  expapply: fun(arg)
Lemmas :  subtype_rel_sum,  subtype_rel_simple_product,  expression_wf,  expapply_wf,  exppair_wf,  expbase_wf

\mforall{}[P:Expression  {}\mrightarrow{}  \mBbbP{}]
    ((\mforall{}val:Atom.  P[val])
    {}\mRightarrow{}  (\mforall{}fst,snd:Expression.    (P[fst]  {}\mRightarrow{}  P[snd]  {}\mRightarrow{}  P[fst,snd]))
    {}\mRightarrow{}  (\mforall{}fun:Atom.  \mforall{}arg:Expression.    (P[arg]  {}\mRightarrow{}  P[fun(arg)]))
    {}\mRightarrow{}  \{\mforall{}x:Expression.  P[x]\})


Date html generated: 2011_08_17-PM-04_33_54
Last ObjectModification: 2011_06_18-AM-11_44_56

Home Index