Nuprl Lemma : es-prior-match-programmable

[Info,A,B:Type]. ∀[R:A ⟶ B ⟶ 𝔹]. ∀[X:EClass(A)]. ∀[Y:EClass(B)].
  (es-prior-match(R; X; Y) = λp.if (fst(p)) (snd(p)) then {p} else {} fi [X;Y] ∈ EClass(A × B))


Proof




Definitions occuring in Statement :  es-prior-match: es-prior-match(R; X; Y) es-interface-pair-prior: X;Y es-filter-image: f[X] eclass: EClass(A[eo; e]) ifthenelse: if then else fi  bool: 𝔹 uall: [x:A]. B[x] pi1: fst(t) pi2: snd(t) apply: a lambda: λx.A[x] function: x:A ⟶ B[x] product: x:A × B[x] universe: Type equal: t ∈ T single-bag: {x} empty-bag: {}
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T pi1: fst(t) pi2: snd(t) all: x:A. B[x] implies:  Q bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  uiff: uiff(P;Q) and: P ∧ Q uimplies: supposing a bfalse: ff exists: x:A. B[x] prop: or: P ∨ Q sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b false: False sv-class: Singlevalued(X) es-filter-image: f[X] eclass-compose1: X eclass-val: X(e) in-eclass: e ∈b X subtype_rel: A ⊆B so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] so_lambda: λ2x.t[x] so_apply: x[s] top: Top le: A ≤ B less_than': less_than'(a;b) not: ¬A es-prior-match: es-prior-match(R; X; Y) band: p ∧b q es-interface-pair-prior: X;Y eq_int: (i =z j) iff: ⇐⇒ Q rev_implies:  Q cand: c∧ B less_than: a < b squash: T true: True

Latex:
\mforall{}[Info,A,B:Type].  \mforall{}[R:A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[X:EClass(A)].  \mforall{}[Y:EClass(B)].
    (es-prior-match(R;  X;  Y)  =  \mlambda{}p.if  R  (fst(p))  (snd(p))  then  \{p\}  else  \{\}  fi  [X;Y])



Date html generated: 2016_05_17-AM-07_20_16
Last ObjectModification: 2016_01_17-PM-03_05_57

Theory : event-ordering


Home Index