{ 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