{ [env:E#Env]. [x:Expression].
    (esharp-expr(env;x)  wf:'  (x:wf
                                     {dv:ClassDerivation| 
                                      WF(dv)
                                       (||cdv-types(dv)|| = 1)}  List)) }

{ Proof }



Definitions occuring in Statement :  esharp-expr: esharp-expr(env;x) expression: Expression esharp-env: E#Env cdv-wf: WF(dv) cdv-types: cdv-types(dv) classderiv: ClassDerivation length: ||as|| uall: [x:A]. B[x] prop: and: P  Q member: t  T set: {x:A| B[x]}  isect: x:A. B[x] product: x:A  B[x] natural_number: $n int: equal: s = t listp: A List
Definitions :  esharp-comb: esharp-comb esharp-comb-wf: esharp-comb-wf(env;F;ra) expression_ind_expapply: expression_ind_expapply_compseq_tag_def append: as @ bs implies: P  Q spread: spread def expression_ind_exppair: expression_ind_exppair_compseq_tag_def tl: tl(l) hd: hd(l) true: True false: False decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  lt_int: i <z j ndlist: ndlist(T) subtype: S  T esharp-base: esharp-base(env;x) nil: [] cons: [car / cdr] esharp-base-wf: esharp-base-wf(env;x) pair: <a, b> assert: b expression_ind_expbase: expression_ind_expbase_compseq_tag_def inr: inr x  decision: Decision apply: f a inl: inl x  atom: Atom union: left + right eclass: EClass(A[eo; e]) fpf: a:A fp-B[a] strong-subtype: strong-subtype(A;B) rec: rec(x.A[x]) list: type List le: A  B ge: i  j  not: A less_than: a < b uimplies: b supposing a uiff: uiff(P;Q) subtype_rel: A r B function: x:A  B[x] all: x:A. B[x] prop: universe: Type listp: A List set: {x:A| B[x]}  classderiv: ClassDerivation and: P  Q product: x:A  B[x] cdv-wf: WF(dv) int: length: ||as|| cdv-types: cdv-types(dv) natural_number: $n esharp-expr: esharp-expr(env;x) esharp-env: E#Env axiom: Ax uall: [x:A]. B[x] isect: x:A. B[x] expression: Expression equal: s = t member: t  T Auto: Error :Auto,  Complete: Error :Complete,  Try: Error :Try,  CollapseTHEN: Error :CollapseTHEN,  D: Error :D,  Repeat: Error :Repeat,  CollapseTHENA: Error :CollapseTHENA,  RepUR: Error :RepUR,  tactic: Error :tactic,  void: Void add: n + m rev_implies: P  Q iff: P  Q l_member: (x  l) rev_uimplies: rev_uimplies(P;Q) bor: p q band: p  q bimplies: p  q bnot: b es-ble: e loc e' es-bless: e <loc e' es-eq-E: e = e' eq_lnk: a = b eq_id: a = b eq_str: Error :eq_str,  deq-all-disjoint: deq-all-disjoint(eq;ass;bs) deq-disjoint: deq-disjoint(eq;as;bs) deq-member: deq-member(eq;x;L) q_le: q_le(r;s) q_less: q_less(r;s) qeq: qeq(r;s) eq_atom: eq_atom$n(x;y) eq_type: eq_type(T;T') b-exists: (i<n.P[i])_b bl-exists: (xL.P[x])_b bl-all: (xL.P[x])_b dcdr-to-bool: [d] grp_blt: a < b set_blt: a < b infix_ap: x f y null: null(as) eq_atom: x =a y eq_int: (i = j) le_int: i z j es-E-interface: E(X) cand: A c B bool: apply-alist: apply-alist(eq;L;x)
Lemmas :  assert_of_lt_int pos_length2 iff_wf rev_implies_wf length_append listp_properties append_wf cdv-wf_wf classderiv_wf member_wf assert_wf listp_wf esharp-base_wf cdv-types_wf length_wf1 esharp-base-wf_wf expression_wf esharp-env_wf false_wf ifthenelse_wf lt_int_wf true_wf cons_wf_listp subtype_rel_wf esharp-comb-wf_wf esharp-comb_wf

\mforall{}[env:E\#Env].  \mforall{}[x:Expression].
    (esharp-expr(env;x)  \mmember{}  wf:\mBbbP{}'  \mtimes{}  (\mcap{}x:wf.  \{dv:ClassDerivation|  WF(dv)  \mwedge{}  (||cdv-types(dv)||  =  1)\}    List\000C\msupplus{}))


Date html generated: 2011_08_17-PM-04_35_31
Last ObjectModification: 2011_06_18-AM-11_48_01

Home Index