{ [P1:Type  ']. [F:{T:Type| P1[T]}   Type]. [H:T1:{T:Type| P1[T]} 
                                                        {f:bag(T1)
                                                          bag(F[T1])| 
                                                         (f {}) = {}} ].
    (SimpleComb1(T1.P1[T1];T1.F[T1];a.H[a])  CombinatorDef) }

{ Proof }



Definitions occuring in Statement :  SimpleComb1: SimpleComb1(T1.P1[T1];T.F[T];a.H[a]) combinator-def: CombinatorDef uall: [x:A]. B[x] prop: so_apply: x[s] member: t  T set: {x:A| B[x]}  apply: f a isect: x:A. B[x] function: x:A  B[x] universe: Type equal: s = t empty-bag: {} bag: bag(T)
Definitions :  es-E-interface: E(X) IdLnk: IdLnk Id: Id append: as @ bs locl: locl(a) Knd: Knd in-eclass: e  X or: P  Q guard: {T} eq_knd: a = b l_member: (x  l) fpf-dom: x  dom(f) limited-type: LimitedType bfalse: ff btrue: tt 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 assert: b bnot: b unit: Unit decide: case b of inl(x) =s[x] | inr(y) =t[y] intensional-universe: IType union: left + right permutation: permutation(T;L1;L2) quotient: x,y:A//B[x; y] lelt: i  j < k nil: [] cand: A c B grp_car: |g| p-outcome: Outcome void: Void implies: P  Q false: False real: rationals: subtype: S  T pair: <a, b> eclass: EClass(A[eo; e]) fpf: a:A fp-B[a] strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  not: A uimplies: b supposing a uiff: uiff(P;Q) subtype_rel: A r B all: x:A. B[x] axiom: Ax SimpleComb1: SimpleComb1(T1.P1[T1];T.F[T];a.H[a]) empty-bag: {} lambda: x.A[x] ifthenelse: if b then t else f fi  select: l[i] int_seg: {i..j} and: P  Q length: ||as|| int: list: type List bool: add: n + m natural_number: $n less_than: a < b nat: product: x:A  B[x] combinator-def: CombinatorDef prop: uall: [x:A]. B[x] equal: s = t function: x:A  B[x] bag: bag(T) set: {x:A| B[x]}  so_apply: x[s] apply: f a universe: Type member: t  T isect: x:A. B[x] sq_type: SQType(T)
Lemmas :  int_subtype_base subtype_base_sq le_wf member_wf nat_wf false_wf not_wf bool_wf int_seg_wf bag_wf select_wf ifthenelse_wf empty-bag_wf nat_properties length_wf1 int_seg_properties permutation_wf intensional-universe_wf subtype_rel_wf length_wf_nat eqtt_to_assert assert_wf uiff_transitivity eqff_to_assert assert_of_bnot bnot_wf bfalse_wf pos_length2

\mforall{}[P1:Type  {}\mrightarrow{}  \mBbbP{}'].  \mforall{}[F:\{T:Type|  P1[T]\}    {}\mrightarrow{}  Type].  \mforall{}[H:\mcap{}T1:\{T:Type|  P1[T]\} 
                                                                                                            \{f:bag(T1)  {}\mrightarrow{}  bag(F[T1])|  (f  \{\})  =  \{\}\}  ].
    (SimpleComb1(T1.P1[T1];T1.F[T1];a.H[a])  \mmember{}  CombinatorDef)


Date html generated: 2011_08_17-PM-04_31_01
Last ObjectModification: 2011_06_18-AM-11_42_27

Home Index