Nuprl Lemma : fpf-join-compatible-left

[A:Type]. ∀[eq:EqDecider(A)]. ∀[B,C,D,E,F,G:A ⟶ Type]. ∀[f:a:A fp-> B[a]]. ∀[g:a:A fp-> C[a]]. ∀[h:a:A fp-> D[a]].
  ({(f ⊕ || h) supposing (g || and || h)}) supposing 
     ((∀a:A. (E[a] ⊆G[a])) and 
     (∀a:A. (F[a] ⊆G[a])) and 
     (∀a:A. (D[a] ⊆F[a])) and 
     (∀a:A. (D[a] ⊆E[a])) and 
     (∀a:A. (C[a] ⊆F[a])) and 
     (∀a:A. (B[a] ⊆E[a])))


Definitions occuring in Statement :  fpf-join: f ⊕ g fpf-compatible: || g fpf: a:A fp-> B[a] deq: EqDecider(T) uimplies: supposing a subtype_rel: A ⊆B uall: [x:A]. B[x] guard: {T} so_apply: x[s] all: x:A. B[x] function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  guard: {T} uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a fpf-compatible: || g all: x:A. B[x] implies:  Q and: P ∧ Q iff: ⇐⇒ Q or: P ∨ Q fpf-ap: f(x) fpf-join: f ⊕ g pi2: snd(t) fpf-cap: f(x)?z prop: so_lambda: λ2x.t[x] so_apply: x[s] subtype_rel: A ⊆B top: Top cand: c∧ B not: ¬A false: False bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff
Lemmas referenced :  fpf-join-dom2 assert_wf fpf-dom_wf fpf-join_wf top_wf subtype-fpf2 fpf-compatible_wf all_wf subtype_rel_wf fpf_wf deq_wf bool_wf equal_functionality_wrt_subtype_rel2 equal-wf-T-base bnot_wf not_wf eqtt_to_assert uiff_transitivity eqff_to_assert assert_of_bnot equal_wf
Rules used in proof :  sqequalSubstitution sqequalRule sqequalReflexivity sqequalTransitivity computationStep isect_memberFormation introduction cut sqequalHypSubstitution lambdaFormation productElimination thin extract_by_obid isectElimination because_Cache dependent_functionElimination hypothesisEquality hypothesis independent_functionElimination unionElimination productEquality lambdaEquality applyEquality functionExtensionality cumulativity independent_isectElimination isect_memberEquality voidElimination voidEquality axiomEquality equalityTransitivity equalitySymmetry functionEquality universeEquality independent_pairFormation baseClosed equalityElimination

\mforall{}[A:Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[B,C,D,E,F,G:A  {}\mrightarrow{}  Type].  \mforall{}[f:a:A  fp->  B[a]].  \mforall{}[g:a:A  fp->  C[a]].
\mforall{}[h:a:A  fp->  D[a]].
    (\{(f  \moplus{}  g  ||  h)  supposing  (g  ||  h  and  f  ||  h)\})  supposing 
          ((\mforall{}a:A.  (E[a]  \msubseteq{}r  G[a]))  and 
          (\mforall{}a:A.  (F[a]  \msubseteq{}r  G[a]))  and 
          (\mforall{}a:A.  (D[a]  \msubseteq{}r  F[a]))  and 
          (\mforall{}a:A.  (D[a]  \msubseteq{}r  E[a]))  and 
          (\mforall{}a:A.  (C[a]  \msubseteq{}r  F[a]))  and 
          (\mforall{}a:A.  (B[a]  \msubseteq{}r  E[a])))

Date html generated: 2018_05_21-PM-09_28_12
Last ObjectModification: 2018_02_09-AM-10_23_36

Theory : finite!partial!functions

Home Index