{ es:EO
    [T:Type]
      i:Id
        [P:T  ]. [Q:E  T  ].
          ((x:T. Dec(P[x]))
           (L:T List
                (xL.P[x]  (e:E. Q[e;x]))
                 e'@i.True supposing (xL. P[x])
                 e'@i.(xL.P[x]  (e:E. (e loc e'   Q[e;x]))) 
                supposing (xL.e:E. (Q[e;x]  (loc(e) = i))))) }

{ Proof }



Definitions occuring in Statement :  existse-at: e@i.P[e] es-le: e loc e'  es-loc: loc(e) es-E: E event_ordering: EO Id: Id decidable: Dec(P) uimplies: b supposing a uall: [x:A]. B[x] prop: so_apply: x[s1;s2] so_apply: x[s] all: x:A. B[x] exists: x:A. B[x] not: A implies: P  Q and: P  Q true: True function: x:A  B[x] list: type List universe: Type equal: s = t l_exists: (xL. P[x]) l_all: (xL.P[x])
Definitions :  guard: {T} rev_implies: P  Q iff: P  Q tl: tl(l) hd: hd(l) cons: [car / cdr] pair: <a, b> bool: top: Top select: l[i] natural_number: $n label: ...$L... t int: length: ||as|| void: Void cand: A c B nat: false: False limited-type: LimitedType set: {x:A| B[x]}  strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  less_than: a < b uiff: uiff(P;Q) union: left + right or: P  Q eq_atom: x =a y eq_atom: eq_atom$n(x;y) infix_ap: x f y atom: Atom$n dep-isect: Error :dep-isect,  record+: record+ subtype_rel: A r B nil: [] axiom: Ax es-loc: loc(e) l_member: (x  l) lambda: x.A[x] record-select: r.x member: t  T event_ordering: EO universe: Type prop: decidable: Dec(P) list: type List Id: Id equal: s = t uall: [x:A]. B[x] all: x:A. B[x] implies: P  Q function: x:A  B[x] exists: x:A. B[x] and: P  Q product: x:A  B[x] so_apply: x[s1;s2] es-le: e loc e'  es-E: E uimplies: b supposing a isect: x:A. B[x] existse-at: e@i.P[e] true: True not: A l_exists: (xL. P[x]) so_lambda: x.t[x] so_apply: x[s] apply: f a l_all: (xL.P[x]) CollapseTHEN: Error :CollapseTHEN,  RepeatFor: Error :RepeatFor,  CollapseTHENM: Error :CollapseTHENM,  CollapseTHENA: Error :CollapseTHENA,  Try: Error :Try,  Repeat: Error :Repeat,  MaAuto: Error :MaAuto,  D: Error :D,  THENM: Error :THENM,  Complete: Error :Complete,  tactic: Error :tactic,  sqequal: s ~ t p-outcome: Outcome add: n + m lelt: i  j < k real: rationals: subtype: S  T int_seg: {i..j} es-locl: (e <loc e') trans: Trans(T;x,y.E[x; y]) assert: b
Lemmas :  not_functionality_wrt_iff l_exists_cons es-le-trans es-locl_wf es-le-total le_wf member_wf nat_wf select_member length_wf1 non_neg_length l_all_wf es-E_wf es-le_wf Id_wf uall_wf decidable_wf not_wf l_exists_wf existse-at_wf true_wf event_ordering_wf l_member_wf es-loc_wf l_all_wf2 false_wf length_wf_nat length_nil top_wf l_all_nil cons_member

\mforall{}es:EO
    \mforall{}[T:Type]
        \mforall{}i:Id
            \mforall{}[P:T  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[Q:E  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}].
                ((\mforall{}x:T.  Dec(P[x]))
                {}\mRightarrow{}  (\mforall{}L:T  List
                            (\mforall{}x\mmember{}L.P[x]  {}\mRightarrow{}  (\mexists{}e:E.  Q[e;x]))
                            {}\mRightarrow{}  \mexists{}e'@i.True  supposing  \mneg{}(\mexists{}x\mmember{}L.  P[x])
                            {}\mRightarrow{}  \mexists{}e'@i.(\mforall{}x\mmember{}L.P[x]  {}\mRightarrow{}  (\mexists{}e:E.  (e  \mleq{}loc  e'    \mwedge{}  Q[e;x]))) 
                            supposing  (\mforall{}x\mmember{}L.\mforall{}e:E.  (Q[e;x]  {}\mRightarrow{}  (loc(e)  =  i)))))


Date html generated: 2011_08_16-AM-10_51_36
Last ObjectModification: 2011_06_18-AM-09_26_28

Home Index