Nuprl Lemma : satisfies_int_formula_dnf
∀fmla:int_formula(). ∀f:ℤ ⟶ ℤ.
  (int_formula_prop(f;fmla) ⇐⇒ (∃X∈int_formula_dnf(fmla). satisfies-poly-constraints(f;X)))
Proof
Definitions occuring in Statement : 
int_formula_dnf: int_formula_dnf(fmla), 
satisfies-poly-constraints: satisfies-poly-constraints(f;X), 
int_formula_prop: int_formula_prop(f;fmla), 
int_formula: int_formula(), 
l_exists: (∃x∈L. P[x]), 
all: ∀x:A. B[x], 
iff: P ⇐⇒ Q, 
function: x:A ⟶ B[x], 
int: ℤ
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x], 
so_lambda: λ2x.t[x], 
member: t ∈ T, 
prop: ℙ, 
so_apply: x[s], 
implies: P ⇒ Q, 
all: ∀x:A. B[x], 
int_formula_dnf: int_formula_dnf(fmla), 
top: Top, 
intformless: (left "<" right), 
int_formula_ind: int_formula_ind, 
satisfies-poly-constraints: satisfies-poly-constraints(f;X), 
int_term_to_ipoly: int_term_to_ipoly(t), 
itermSubtract: left (-) right, 
int_term_ind: int_term_ind, 
itermAdd: left (+) right, 
itermConstant: "const", 
iff: P ⇐⇒ Q, 
and: P ∧ Q, 
uiff: uiff(P;Q), 
uimplies: b supposing a, 
iPolynomial: iPolynomial(), 
rev_implies: P ⇐ Q, 
subtype_rel: A ⊆r B, 
polynomial-constraints: polynomial-constraints(), 
intformle: left "≤" right, 
intformeq: left "=" right, 
intformand: left "∧" right, 
int_formula_prop: int_formula_prop(f;fmla), 
intformor: left "or" right, 
intformimplies: left "=>" right, 
intformnot: "¬"form, 
guard: {T}, 
iMonomial: iMonomial(), 
int_nzero: ℤ-o, 
true: True, 
nequal: a ≠ b ∈ T , 
not: ¬A, 
sq_type: SQType(T), 
false: False, 
sorted: sorted(L), 
int_seg: {i..j-}, 
sq_stable: SqStable(P), 
lelt: i ≤ j < k, 
squash: ↓T, 
exists: ∃x:A. B[x], 
le: A ≤ B, 
less_than': less_than'(a;b), 
subtract: n - m, 
const-poly: const-poly(n), 
int_term_value: int_term_value(f;t), 
itermMinus: "-"num, 
nat_plus: ℕ+, 
less_than: a < b, 
decidable: Dec(P), 
or: P ∨ Q, 
l_exists: (∃x∈L. P[x]), 
l_all: (∀x∈L.P[x])
Lemmas referenced : 
int_formula-induction, 
all_wf, 
iff_wf, 
int_formula_prop_wf, 
l_exists_wf, 
polynomial-constraints_wf, 
int_formula_dnf_wf, 
satisfies-poly-constraints_wf, 
l_member_wf, 
int_formula_wf, 
int_formula_prop_less_lemma, 
l_all_nil_iff, 
l_all_single, 
iPolynomial_wf, 
int_term_to_ipoly_wf, 
itermSubtract_wf, 
itermAdd_wf, 
itermConstant_wf, 
le_wf, 
int_term_value_wf, 
ipolynomial-term_wf, 
equal_wf, 
l_all_wf_nil, 
l_all_wf, 
cons_wf, 
nil_wf, 
less_than_wf, 
true_wf, 
l_exists_single, 
subtype_rel_product, 
list_wf, 
subtype_rel_list, 
subtype_rel_self, 
int_term_wf, 
int_formula_prop_le_lemma, 
int_formula_prop_eq_lemma, 
equal-wf-T-base, 
int_formula_prop_and_lemma, 
int_formula_prop_or_lemma, 
int_formual_prop_imp_lemma, 
int_formula_prop_not_lemma, 
add_ipoly-sq, 
minus-poly_wf, 
add_ipoly_wf, 
iMonomial_wf, 
subtype_base_sq, 
int_subtype_base, 
equal-wf-base, 
nequal_wf, 
le_weakening2, 
select_wf, 
sq_stable__le, 
less_than_transitivity2, 
length_wf, 
length_of_nil_lemma, 
less_than_transitivity1, 
less_than_irreflexivity, 
int_seg_wf, 
sorted_wf, 
length_of_cons_lemma, 
less-iff-le, 
add_functionality_wrt_le, 
add-associates, 
zero-add, 
add-swap, 
add-commutes, 
le-add-cancel2, 
imonomial-less_wf, 
minus-one-mul, 
one-mul, 
add-mul-special, 
two-mul, 
mul-distributes-right, 
zero-mul, 
minus-zero, 
add-zero, 
omega-shadow, 
int_seg_properties, 
squash_wf, 
int_term_value_functionality, 
add-ipoly_wf1, 
add-ipoly_wf, 
const-poly_wf, 
add-ipoly-equiv, 
iff_weakening_equal, 
itermMinus_wf, 
add_functionality_wrt_eq, 
minus-poly-equiv, 
minus_functionality_wrt_eq, 
int_term_polynomial, 
const-poly-value, 
minus-add, 
add-is-int-iff, 
minus-is-int-iff, 
subtract_wf, 
le_reflexive, 
minus-one-mul-top, 
not-le-2, 
mul-distributes, 
mul-associates, 
le-add-cancel, 
not-lt-2, 
minus-minus, 
mul-commutes, 
le-add-cancel-alt, 
decidable__le, 
decidable__lt, 
int_term_value_minus_lemma, 
itermMinus_functionality, 
and-poly-constraints_wf, 
satisfies-and-poly-constraints, 
or_wf, 
l_exists_append, 
append_wf, 
negate-poly-constraints_wf, 
not_wf, 
satisfies-negate-poly-constraints, 
decidable__exists_int_seg, 
decidable__and2, 
decidable__all_int_seg, 
decidable__equal_int, 
not-l_exists
Rules used in proof : 
cut, 
introduction, 
extract_by_obid, 
sqequalHypSubstitution, 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isectElimination, 
thin, 
sqequalRule, 
lambdaEquality, 
functionEquality, 
intEquality, 
functionExtensionality, 
applyEquality, 
hypothesisEquality, 
hypothesis, 
setElimination, 
rename, 
setEquality, 
independent_functionElimination, 
lambdaFormation, 
dependent_functionElimination, 
isect_memberEquality, 
voidElimination, 
voidEquality, 
addLevel, 
productElimination, 
independent_pairFormation, 
impliesFunctionality, 
independent_isectElimination, 
natural_numberEquality, 
andLevelFunctionality, 
productEquality, 
independent_pairEquality, 
because_Cache, 
baseClosed, 
dependent_set_memberEquality, 
instantiate, 
cumulativity, 
equalityTransitivity, 
equalitySymmetry, 
imageMemberEquality, 
imageElimination, 
dependent_pairFormation, 
promote_hyp, 
addEquality, 
universeEquality, 
minusEquality, 
sqequalIntensionalEquality, 
multiplyEquality, 
baseApply, 
closedConclusion, 
levelHypothesis, 
unionElimination, 
inlFormation, 
inrFormation, 
impliesLevelFunctionality, 
orFunctionality
Latex:
\mforall{}fmla:int\_formula().  \mforall{}f:\mBbbZ{}  {}\mrightarrow{}  \mBbbZ{}.
    (int\_formula\_prop(f;fmla)  \mLeftarrow{}{}\mRightarrow{}  (\mexists{}X\mmember{}int\_formula\_dnf(fmla).  satisfies-poly-constraints(f;X)))
Date html generated:
2017_09_29-PM-05_56_01
Last ObjectModification:
2017_07_26-PM-01_44_42
Theory : omega
Home
Index