{ [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