{ es:EO
    [P:E  ]
      d:e,e':E.  Dec(es-p-immediate-pred(es;e.P[e]) e e')
        ((e:E. Dec(P[e]))
         (e:E
              (P[e]
               {P[final-iterate(es-r-pred{i:l}(es;d);e)]
                  ((e':E
                       ((e' < final-iterate(es-r-pred{i:l}(es;d);e))
                        P[e'])))}))) }

{ Proof }



Definitions occuring in Statement :  es-p-immediate-pred: es-p-immediate-pred(es;P) es-r-pred: es-r-pred{i:l}(es;d) es-causl: (e < e') es-E: E event_ordering: EO decidable: Dec(P) uall: [x:A]. B[x] prop: guard: {T} so_apply: x[s] all: x:A. B[x] exists: x:A. B[x] not: A implies: P  Q and: P  Q apply: f a lambda: x.A[x] function: x:A  B[x] final-iterate: final-iterate(f;x)
Definitions :  assert: b cand: A c B nat: top: Top so_lambda: x.t[x] record: record(x.T[x]) strong-subtype: strong-subtype(A;B) equal: s = t union: left + right or: P  Q eq_atom: x =a y eq_atom: eq_atom$n(x;y) infix_ap: x f y record-select: r.x dep-isect: Error :dep-isect,  record+: record+ le: A  B ge: i  j  less_than: a < b uimplies: b supposing a uiff: uiff(P;Q) subtype_rel: A r B exists: x:A. B[x] void: Void false: False not: A event_ordering: EO uall: [x:A]. B[x] isect: x:A. B[x] guard: {T} and: P  Q product: x:A  B[x] universe: Type decidable: Dec(P) ExRepD: Error :ExRepD,  Auto: Error :Auto,  es-r-pred: es-r-pred{i:l}(es;d) es-E: E THENA: Error :THENA,  CollapseTHEN: Error :CollapseTHEN,  p-graph: p-graph(A;f) apply: f a strongwellfounded: SWellFounded(R[x; y]) AssertBY: Error :AssertBY,  RepUR: Error :RepUR,  so_apply: x[s] lambda: x.A[x] es-p-immediate-pred: es-p-immediate-pred(es;P) es-causl: (e < e') so_apply: x[s1;s2] implies: P  Q all: x:A. B[x] prop: function: x:A  B[x] set: {x:A| B[x]}  member: t  T tactic: Error :tactic,  bool: decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  int: subtype: S  T suptype: suptype(S; T) p-fun-exp: f^n do-apply: do-apply(f;x) final-iterate: final-iterate(f;x) can-apply: can-apply(f;x) sq_type: SQType(T) rev_implies: P  Q iff: P  Q causal-predecessor: causal-predecessor(es;p) true: True fpf: a:A fp-B[a] list: type List subtract: n - m outl: outl(x) p-compose: f o g inl: inl x  isl: isl(x) axiom: Ax natural_number: $n primrec: primrec(n;b;c) p-id: p-id() minus: -n add: n + m sqequal: s ~ t real: rationals: p-outcome: Outcome D: Error :D,  THENM: Error :THENM,  squash: T BHyp: Error :BHyp,  THEN: Error :THEN,  Unfold: Error :Unfold
Lemmas :  es-p-immediate-pred-exists squash_wf rev_implies_wf iff_wf p-fun-exp-add-sq p-fun-exp-one iff_weakening_uiff assert_functionality_wrt_uiff can-apply-fun-exp-add-iff le_wf nat_wf p-fun-exp_wf int_subtype_base ge_wf nat_properties nat_ind_tp true_wf bool_wf isl_wf assert_witness do-apply_wf es-r-pred-property subtype_base_sq assert_wf member_wf top_wf can-apply_wf final-iterate_wf false_wf guard_wf not_wf decidable_wf event_ordering_wf es-E_wf es-p-immediate-pred_wf es-causl_wf es-p-immediate-pred-wellfounded final-iterate-property es-r-pred_wf

\mforall{}es:EO
    \mforall{}[P:E  {}\mrightarrow{}  \mBbbP{}]
        \mforall{}d:\mforall{}e,e':E.    Dec(es-p-immediate-pred(es;\mlambda{}e.P[e])  e  e')
            ((\mforall{}e:E.  Dec(P[e]))
            {}\mRightarrow{}  (\mforall{}e:E
                        (P[e]
                        {}\mRightarrow{}  \{P[final-iterate(es-r-pred\{i:l\}(es;d);e)]
                              \mwedge{}  (\mneg{}(\mexists{}e':E.  ((e'  <  final-iterate(es-r-pred\{i:l\}(es;d);e))  \mwedge{}  P[e'])))\})))


Date html generated: 2011_08_16-AM-11_14_08
Last ObjectModification: 2011_06_20-AM-00_21_19

Home Index