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