### Nuprl Lemma : apply_gen_wf

`∀[B:Type]. ∀[n:ℕ]. ∀[m:ℕn + 1]. ∀[A:ℕn ⟶ Type]. ∀[f:funtype(n - m;λx.(A (x + m));B)]. ∀[lst:k:{m..n-} ⟶ (A k)].`
`  (apply_gen(n;lst) m f ∈ B)`

Proof

Definitions occuring in Statement :  apply_gen: `apply_gen(n;lst)` funtype: `funtype(n;A;T)` int_seg: `{i..j-}` nat: `ℕ` uall: `∀[x:A]. B[x]` member: `t ∈ T` apply: `f a` lambda: `λx.A[x]` function: `x:A ⟶ B[x]` subtract: `n - m` add: `n + m` natural_number: `\$n` universe: `Type`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` exists: `∃x:A. B[x]` nat: `ℕ` int_seg: `{i..j-}` guard: `{T}` ge: `i ≥ j ` lelt: `i ≤ j < k` and: `P ∧ Q` all: `∀x:A. B[x]` decidable: `Dec(P)` or: `P ∨ Q` uimplies: `b supposing a` not: `¬A` implies: `P `` Q` satisfiable_int_formula: `satisfiable_int_formula(fmla)` false: `False` top: `Top` prop: `ℙ` sq_type: `SQType(T)` squash: `↓T` true: `True` subtype_rel: `A ⊆r B` iff: `P `⇐⇒` Q` apply_gen: `apply_gen(n;lst)` funtype: `funtype(n;A;T)` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` ifthenelse: `if b then t else f fi ` bfalse: `ff` bnot: `¬bb` assert: `↑b` nequal: `a ≠ b ∈ T ` subtract: `n - m` so_lambda: `λ2x.t[x]` so_apply: `x[s]` le: `A ≤ B` rev_implies: `P `` Q` less_than': `less_than'(a;b)`
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut dependent_pairFormation dependent_set_memberEquality extract_by_obid sqequalHypSubstitution isectElimination thin setElimination rename because_Cache hypothesis hypothesisEquality natural_numberEquality addEquality productElimination dependent_functionElimination unionElimination independent_isectElimination approximateComputation independent_functionElimination lambdaEquality int_eqEquality intEquality isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation instantiate cumulativity equalityTransitivity equalitySymmetry applyEquality imageElimination imageMemberEquality baseClosed intWeakElimination lambdaFormation axiomEquality functionEquality functionExtensionality universeEquality equalityElimination promote_hyp multiplyEquality minusEquality

Latex:
\mforall{}[B:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[m:\mBbbN{}n  +  1].  \mforall{}[A:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[f:funtype(n  -  m;\mlambda{}x.(A  (x  +  m));B)].
\mforall{}[lst:k:\{m..n\msupminus{}\}  {}\mrightarrow{}  (A  k)].
(apply\_gen(n;lst)  m  f  \mmember{}  B)

Date html generated: 2018_05_21-PM-06_26_50
Last ObjectModification: 2018_05_19-PM-05_21_56

Theory : bags

Home Index