{ [k:Knd]. [da,da':a:Knd fp-Type].
    Valtype(da';k) r Valtype(da;k) supposing da  da' }

{ Proof }



Definitions occuring in Statement :  ma-valtype: Valtype(da;k) fpf-sub: f  g fpf: a:A fp-B[a] Kind-deq: KindDeq Knd: Knd subtype_rel: A r B uimplies: b supposing a uall: [x:A]. B[x] universe: Type
Definitions :  void: Void atom: Atom$n atom: Atom IdLnk: IdLnk Id: Id sq_type: SQType(T) fpf-dom: x  dom(f) fpf-single: x : v fpf-join: f  g tag-by: zT rev_implies: P  Q iff: P  Q record+: record+ record: record(x.T[x]) fset: FSet{T} isect2: T1  T2 b-union: A  B list: type List deq: EqDecider(T) ma-state: State(ds) fpf-ap: f(x) top: Top pair: <a, b> true: True squash: T set: {x:A| B[x]}  cand: A c B apply: f a so_apply: x[s] implies: P  Q or: P  Q guard: {T} l_member: (x  l) Kind-deq: KindDeq lambda: x.A[x] fpf-cap: f(x)?z strong-subtype: strong-subtype(A;B) equal: s = t decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  assert: b union: left + right le: A  B ge: i  j  not: A less_than: a < b product: x:A  B[x] and: P  Q uiff: uiff(P;Q) function: x:A  B[x] all: x:A. B[x] ma-valtype: Valtype(da;k) prop: fpf-sub: f  g member: t  T fpf: a:A fp-B[a] so_lambda: x.t[x] universe: Type Knd: Knd uimplies: b supposing a subtype_rel: A r B isect: x:A. B[x] uall: [x:A]. B[x] MaAuto: Error :MaAuto,  tactic: Error :tactic
Lemmas :  Knd_wf subtype_rel_wf ma-valtype_wf fpf_wf Kind-deq_wf fpf-sub_wf uall_wf uiff_inversion true_wf squash_wf top_wf fpf-cap_wf member_wf subtype_base_sq l_member_wf product_subtype_base list_subtype_base Id_wf IdLnk_wf union_subtype_base atom2_subtype_base deq_wf subtype-fpf-cap-top

\mforall{}[k:Knd].  \mforall{}[da,da':a:Knd  fp->  Type].    Valtype(da';k)  \msubseteq{}r  Valtype(da;k)  supposing  da  \msubseteq{}  da'


Date html generated: 2011_08_10-AM-08_12_10
Last ObjectModification: 2011_06_18-AM-08_27_19

Home Index