{ [env:E#Env]. [F:Atom]. [r:{dv:ClassDerivation| 
                                WF(dv)  (||cdv-types(dv)|| = 1)}  List].
    esharp-comb(env;
    F;r)  {dv:ClassDerivation| WF(dv)  (||cdv-types(dv)|| = 1)}  
    supposing esharp-comb-wf(env;F;r) }

{ Proof }



Definitions occuring in Statement :  esharp-comb: esharp-comb esharp-comb-wf: esharp-comb-wf(env;F;ra) esharp-env: E#Env cdv-wf: WF(dv) cdv-types: cdv-types(dv) classderiv: ClassDerivation length: ||as|| uimplies: b supposing a uall: [x:A]. B[x] and: P  Q member: t  T set: {x:A| B[x]}  list: type List natural_number: $n int: atom: Atom equal: s = t
Definitions :  lelt: i  j < k limited-type: LimitedType sqequal: s ~ t rec: rec(x.A[x]) pi2: snd(t) ycomb: Y Knd: Knd IdLnk: IdLnk Id: Id rationals: so_apply: x[s] or: P  Q guard: {T} pi1: fst(t) filter: filter(P;l) l_member: (x  l) intensional-universe: IType void: Void assert: b listp: A List combination: Combination(n;T) real: grp_car: |g| cand: A c B empty-bag: {} pair: <a, b> bool: nat: spread: spread def classderiv_ind: classderiv_ind eclass: EClass(A[eo; e]) fpf: a:A fp-B[a] strong-subtype: strong-subtype(A;B) name: Name le: A  B ge: i  j  not: A less_than: a < b uiff: uiff(P;Q) subtype_rel: A r B inl: inl x  map: map(f;as) bag: bag(T) pack-cdv-args: pack-cdv-args(n;m;L) cdvcomb: cdvcomb(typ;argtype;arg;fun) cdvreccomb: cdvreccomb(typ;argtype;arg;fun) let: let spreadn: spread6 nil: [] false: False decide: case b of inl(x) =s[x] | inr(y) =t[y] atom-deq: AtomDeq implies: P  Q unit: Unit combinator-def: CombinatorDef base-deriv: BaseDef apply-alist: apply-alist(eq;L;x) hd: hd(l) subtype: S  T all: x:A. B[x] axiom: Ax esharp-comb: esharp-comb cdv-types: cdv-types(dv) esharp-comb-wf: esharp-comb-wf(env;F;ra) prop: list: type List and: P  Q product: x:A  B[x] cdv-wf: WF(dv) classderiv: ClassDerivation atom: Atom esharp-env: E#Env uall: [x:A]. B[x] so_lambda: x.t[x] uimplies: b supposing a isect: x:A. B[x] top: Top select: l[i] union: left + right length: ||as|| natural_number: $n int_seg: {i..j} function: x:A  B[x] universe: Type it: inr: inr x  lambda: x.A[x] apply: f a equal: s = t ifthenelse: if b then t else f fi  set: {x:A| B[x]}  member: t  T add: n + m int: in-eclass: e  X eq_knd: a = b bfalse: ff eq_bool: p =b q lt_int: i <z j le_int: i z j eq_int: (i = j) eq_atom: x =a y null: null(as) set_blt: a < b grp_blt: a < b infix_ap: x f y dcdr-to-bool: [d] bl-all: (xL.P[x])_b bl-exists: (xL.P[x])_b b-exists: (i<n.P[i])_b eq_type: eq_type(T;T') eq_atom: eq_atom$n(x;y) qeq: qeq(r;s) q_less: q_less(r;s) q_le: q_le(r;s) deq-member: deq-member(eq;x;L) deq-disjoint: deq-disjoint(eq;as;bs) deq-all-disjoint: deq-all-disjoint(eq;ass;bs) eq_id: a = b eq_lnk: a = b es-eq-E: e = e' es-bless: e <loc e' es-ble: e loc e' bimplies: p  q band: p  q bor: p q bnot: b btrue: tt sq_type: SQType(T) permutation: permutation(T;L1;L2) quotient: x,y:A//B[x; y] true: True squash: T eqof: eqof(d) fpf-dom: x  dom(f) rcv: rcv(l,tg) locl: locl(a) ext-eq: A  B class-program: ClassProgram(T) es-E-interface: E(X) fpf-cap: f(x)?z THENL_cons: Error :THENL_nil,  D: Error :D,  Unfold: Error :Unfold,  AssertBY: Error :AssertBY,  THENL_v2: Error :THENL,  THENL_cons: Error :THENL_cons,  MaAuto: Error :MaAuto,  Try: Error :Try,  Complete: Error :Complete,  RepeatFor: Error :RepeatFor,  CollapseTHENA: Error :CollapseTHENA,  tactic: Error :tactic,  SplitOn: Error :SplitOn,  Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  cdv-argtype: cdv-argtype(dv) l_all: (xL.P[x]) rev_implies: P  Q iff: P  Q limited-type-level: limited-type-level{i:l}(n;T) atom: Atom$n base: Base exists: x:A. B[x] cdvcomb-typ: cdvcomb-typ(x) cdvcomb-argtype: cdvcomb-argtype(x) cdvcomb-arg: cdvcomb-arg(x) classderiv_ind_cdvcomb: classderiv_ind_cdvcomb_compseq_tag_def cdvcomb-fun: cdvcomb-fun(x) cdvbase?: cdvbase?(x) cdvpair?: cdvpair?(x) cdvdelay?: cdvdelay?(x) cdvcomb?: cdvcomb?(x) cdvreccomb?: cdvreccomb?(x) cdvreccomb-typ: cdvreccomb-typ(x) cdvreccomb-argtype: cdvreccomb-argtype(x) cdvreccomb-arg: cdvreccomb-arg(x) classderiv_ind_cdvreccomb: classderiv_ind_cdvreccomb_compseq_tag_def cdvreccomb-fun: cdvreccomb-fun(x) so_lambda: so_lambda(x,y,z,w.t[x; y; z; w]) so_lambda: so_lambda(x,y,z.t[x; y; z]) so_lambda: so_lambda(x,y,z,w,v.t[x; y; z; w; v])
Lemmas :  cdvreccomb_wf cdvcomb_wf int_seg_properties cdv-argtype_wf limited-type-level_wf limited-type_wf product_subtype_base atom2_subtype_base Id_wf atom_subtype_base name_wf union_subtype_base base_wf rec_subtype_base set_subtype_base intensional-universe_subtype_base unit_subtype_base iff_wf rev_implies_wf cdv-argtype-pack l_all_wf pack-cdv-args_wf nat_wf list_subtype_base ifthenelse_wf ext-eq_weakening subtype_rel_weakening ext-eq_inversion empty-bag_wf bool_wf true_wf squash_wf permutation_wf bool_cases subtype_base_sq bool_subtype_base eqtt_to_assert assert_wf uiff_transitivity eqff_to_assert assert_of_bnot bnot_wf subtype_rel_self classderiv_wf cdv-wf_wf uall_wf esharp-comb-wf_wf member_wf esharp-env_wf cdv-types_wf length_wf1 base-deriv_wf combinator-def_wf apply-alist_wf unit_wf atom-deq_wf false_wf nat_properties hd_wf map_wf_listp listp_wf length_wf_nat map_wf subtype_rel_wf intensional-universe_wf list-subtype l_member_wf non_neg_length map_length ge_wf le_wf not_wf pos_length3 top_wf length-map cdv-types-non-empty select_wf bag_wf int_seg_wf

\mforall{}[env:E\#Env].  \mforall{}[F:Atom].  \mforall{}[r:\{dv:ClassDerivation|  WF(dv)  \mwedge{}  (||cdv-types(dv)||  =  1)\}    List].
    esharp-comb(env;
    F;r)  \mmember{}  \{dv:ClassDerivation|  WF(dv)  \mwedge{}  (||cdv-types(dv)||  =  1)\}   
    supposing  esharp-comb-wf(env;F;r)


Date html generated: 2011_08_17-PM-04_33_11
Last ObjectModification: 2011_06_18-AM-11_43_54

Home Index