{ [P:Type  ']. [F:{T:Type| P[T]}   Type]. [H:T:{T:Type| P[T]} 
                                                      {f:bag(T)
                                                        bag(F[T])
                                                        bag(F[T])| 
                                                       (f {} {}) = {}} ].
    (RecComb1(T.P[T];T.F[T];v,s.H[v;s])  CombinatorDef) }

{ Proof }



Definitions occuring in Statement :  RecComb1: RecComb1(T.P[T];T.F[T];v,s.H[v; s]) combinator-def: CombinatorDef uall: [x:A]. B[x] prop: so_apply: x[s1;s2] 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 so_apply: x[s1;s2] RecComb1: RecComb1(T.P[T];T.F[T];v,s.H[v; s]) 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] member: t  T isect: 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 sq_type: SQType(T) Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  Try: Error :Try,  Complete: Error :Complete,  Unfold: Error :Unfold,  tactic: Error :tactic
Lemmas :  int_subtype_base subtype_base_sq false_wf not_wf le_wf nat_wf bool_wf int_seg_wf bag_wf select_wf ifthenelse_wf empty-bag_wf member_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 btrue_wf pos_length2

\mforall{}[P:Type  {}\mrightarrow{}  \mBbbP{}'].  \mforall{}[F:\{T:Type|  P[T]\}    {}\mrightarrow{}  Type].  \mforall{}[H:\mcap{}T:\{T:Type|  P[T]\} 
                                                                                                        \{f:bag(T)  {}\mrightarrow{}  bag(F[T])  {}\mrightarrow{}  bag(F[T])| 
                                                                                                          (f  \{\}  \{\})  =  \{\}\}  ].
    (RecComb1(T.P[T];T.F[T];v,s.H[v;s])  \mmember{}  CombinatorDef)


Date html generated: 2011_08_17-PM-04_30_25
Last ObjectModification: 2011_06_18-AM-11_42_03

Home Index