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