Nuprl Lemma : CLK_ClockFun-eq

[MsgType:ValueAllType]. ∀[f:CLK_headers_type{i:l}(MsgType)]. ∀[es:EO+(Message(f))]. ∀[e:E].
  CLK_ClockVal(MsgType;f)@e
  (imax(snd(CLK_msg'base(MsgType;f)@e);if first(e) then else CLK_ClockVal(MsgType;f)@pred(e) fi 1)
  ∈ ℤ 
  supposing ∀e:E. (↑e ∈b CLK_msg'base(MsgType;f))


Proof




Definitions occuring in Statement :  CLK_ClockFun: CLK_ClockVal(MsgType;f)@e CLK_msg'base: CLK_msg'base(MsgType;f) CLK_headers_type: CLK_headers_type{i:l}(MsgType) Message: Message(f) classfun-res: X@e member-eclass: e ∈b X event-ordering+: EO+(Info) es-first: first(e) es-pred: pred(e) es-E: E imax: imax(a;b) vatype: ValueAllType assert: b ifthenelse: if then else fi  uimplies: supposing a uall: [x:A]. B[x] pi2: snd(t) all: x:A. B[x] add: m natural_number: $n int: equal: t ∈ T
Definitions unfolded in proof :  vatype: ValueAllType uall: [x:A]. B[x] uimplies: supposing a CLK_headers_type: CLK_headers_type{i:l}(MsgType) l_all: (∀x∈L.P[x]) all: x:A. B[x] and: P ∧ Q member: t ∈ T so_lambda: λ2x.t[x] subtype_rel: A ⊆B prop: so_apply: x[s] iff: ⇐⇒ Q implies:  Q listp: List+ name: Name CLK_headers: CLK_headers() rev_implies:  Q or: P ∨ Q guard: {T} CLK_headers_fun: CLK_headers_fun(MsgType) name_eq: name_eq(x;y) name-deq: NameDeq list-deq: list-deq(eq) list_ind: list_ind cons: [a b] band: p ∧b q ifthenelse: if then else fi  atom-deq: AtomDeq eq_atom: =a y btrue: tt nil: [] it: null: null(as) CLK_ClockFun: CLK_ClockVal(MsgType;f)@e CLK_Clock: CLK_Clock(MsgType;f) state-class1: state-class1(init;tr;X) top: Top le: A ≤ B less_than': less_than'(a;b) false: False not: ¬A CLK_msg'base: CLK_msg'base(MsgType;f) encodes-msg-type: hdr encodes T bool: 𝔹 unit: Unit uiff: uiff(P;Q) bfalse: ff exists: x:A. B[x] sq_type: SQType(T) bnot: ¬bb assert: b CLK_upd_clock: CLK_upd_clock(MsgType) pi2: snd(t)

Latex:
\mforall{}[MsgType:ValueAllType].  \mforall{}[f:CLK\_headers\_type\{i:l\}(MsgType)].  \mforall{}[es:EO+(Message(f))].  \mforall{}[e:E].
    CLK\_ClockVal(MsgType;f)@e
    =  (imax(snd(CLK\_msg'base(MsgType;f)@e);if  first(e)
                    then  0
                    else  CLK\_ClockVal(MsgType;f)@pred(e)
                    fi  )
        +  1) 
    supposing  \mforall{}e:E.  (\muparrow{}e  \mmember{}\msubb{}  CLK\_msg'base(MsgType;f))



Date html generated: 2016_05_17-PM-02_46_07
Last ObjectModification: 2015_12_29-PM-10_19_10

Theory : lamport!s!clocks


Home Index