(a) Definition.
A function f is monotonic in its argument ≡ (x ⇒ y) ⇒ (f.x ⇒ f.y)
Note: The textual substitution approach in the Inference Rules provided below are a better way to work out monotonicity etc than a 'function' approach using above idea.
A function is anti-monotonic in its argument ≡ (x ⇒ y) ⇒ (f.x ⇐ f.y)
(b) Monotonicity of Logical Operators
∨ Monotonic. (p ⇒ q) ⇒ (p ∨ r) ⇒ (q ∨ r )
∧ Monotonic. (p ⇒ q) ⇒ (p ∧ r) ⇒ (q ∧ r )
¬ Antimonotonic. (p ⇒ q) ⇒ ( ¬ p ⇐ ¬ q )
⇒ Antimonotonic Antecedent. (p ⇒ q) ⇒ ( (p ⇒ r) ⇐ (q ⇒ r) )
⇒ Monotonic Consequent. (p ⇒ q) ⇒ ( (r ⇒ p) ⇒ (r ⇒ q) )
∀ Antimonotonic Range. (a ⇒ b) ⇒ ( ( ∀x | a : P) ⇐ ( ∀x | b : P))
∀ Monotonic Body. (a ⇒ b) ⇒ ( ( ∀x | R : a) ⇒ ( ∀x | R : b))
∃ Monotonic Range. (a ⇒ b) ⇒ ( ( ∃x | a : P) ⇒ ( ∃x | b : P))
∃ Monotonic Body. (a ⇒ b) ⇒ ( ( ∃x | R : a) ⇒ ( ∃x | R : b))
(c) Capture Avoiding Substitution
( E[z := P ] denotes capture-avoiding substitution: E[z := P ] is a copy of expression E in which all occurrences of *free* variable z have been replaced by expression P , with names of dummies (bound variables) being first replaced to avoid capture.) (Note: best way to avoid this in practice is to have no names in common, bound or not, between P and E. If programming this substitution, then better to rename only bound vars)
(d) Monotonic and Antimonotonic Positions
Consider an occurrence of free variable z in a formula E (but not within an operand of ≡ ). The *position* of z within E is called monotonic if it is nested within an even number of negations, antecedents, or ranges of universal quantifications; otherwise, it is antimonotonic.
(e) Detailed Method for determining the monotonicity of a position
(1) Replace ( ∀x | F1 : F2 ) by ¬( ∃x | F1 : ¬F2 )
(2) Replace ( ∃x | F1 : F2 ) by ( ∃x |: F1∧F2 )
(3) Replace ( F1⇍F2 ) by ¬( F1⇐F2 )
(4) Replace ( F1⇏F2 ) by ¬( F1⇒F2 )
(5) Replace ( F1⇐F2 ) by ( F2⇒F1 )
(6) Replace ( F1⇒F2 ) by ( ¬F1∨F2 )
(7) Replace ( F1∧F2 ) by ( ¬(¬F1∨¬F2) )
(8) If z is in the second operand F2 of ( F1∨F2 ), replace ( F1∨F2 ) by ( F2∨F1 )
(9) Count the number of ¬s in enclosing z. (the enclosing ∀s and ⇒s have been transformed away by steps 1 through 8). If the number is even then positonOf(z) is monotonic and if odd then positionOf(z) is antimonotonic.
(e) MetaTheorem Monotonicity
Suppose P ⇒ Q is a theorem. Let E contain exactly one occurrence of free variable z (but not within an operand of ≡ ). Then
(a)If postionOf(z) is monotonic, then E[ z := P ] ⇒ E[ z := Q ]
(b)If postionOf(z) is monotonic, then E[ z := P ] ⇐ E[ z := Q ]
This also works if there are multiple occurrences of z, but they all have either monotonic xor antimonotonic positions
(f) Expressing Metatheorem Monotonicity as inference rules
(1) P⇒Q∧positionofzismonotonicE[z:=P]⇒E[z:=Q]
(2) P⇒Q∧positionofzisantimonotonicE[z:=P]⇐E[z:=Q]
(g) Convention for citing monotonicity in proofs
(∀x|:P∧R)
⇒ Monotonicity, weakening P ⇒ P ∨ Q
(∀x|:(P∨Q)∧R)
Explanation: Consider (∀x|:P∧R) to be E ≡ (∀x|:z∧R) and use P ⇒ P ∨ Q as the implication in the Monotonicity Metatheorem. (the position of z is monotonic since it is the body position of a ∀ )
(h) Examples
(1) Given One Point Rule, ie, ( ∀ x | x = E : P) ≡ P [x := E ] and x does not occur free in E , prove Instantiation theorem, ie, Prove (∀x|:P)⇒P[x:=E]
Old proof, without monotonicity
LHS (∀x|:P)
= notation expansion
(∀x|true:P)
= true ≡a∨¬a
(∀x|(x=E)∨(x≠E):P)
= Axiom: Range Split (⋆|R∨S:P)≡(⋆|R:P)⋆(⋆|S:P) here ⋆=∧. notated as ∀
(∀x|(x=E):P)∧(∀x|(x≠E):P)
⇒Theorem:a∧b⇒a
(∀x|(x=E):P)
= Single Point Axiom (⋆y|(y=F):Q)≡ Q [ y := F ]
P [ x := E ] = RHS.
QED
new proof (using monotonicity)
LHS (∀x|:P)
= notation expansion
(∀x|true:P)
= Dummy Renaming ( ⋆ x | R : P) ≡ ( ⋆ y | R[x := y] : P [x := y]) , given y does not occur free in R or P, choose a variable m such that not occurs-free(m, [R, P])
( ∀ m | true : P[x := m])
⇒ Monotonicity, Right Zero of ⇒ a ⇒ true ≡ true for any a . Let a = ( m = E) . position of true is anti monotonic
( ∀ m | (m = E) : P[x := m])
= Single Point theorem, given.
P[x := m][m := E]
= Successive textual replacement
P[x := E] QED
Note: implications with true or false in them are useful.
Example 2: All men are mortal, Socrates is a man. Therefore Socrates is mortal.
step 1: establish notation.
man.m : person m is a man
mortal.m : person m is a mortal
S : Socrates
step 2: formalize English to logic
( ∀ m |: man.m ⇒ mortal.m) ∧ man.S ⇒ mortal.S
step 3: prove
LHS ( ∀ m |: man.m ⇒ mortal.m) ∧ man.S ⇒ mortal.S
⇒ Monotonicity, Instantiation (∀x|:P)⇒P[x:=e], e = S, ∧ is monotonic in both arguments
(man.S ⇒ mortal.S) ∧ man.S
⇒ Modus Ponens
mortal.S QED
Example 3
Prove
None but those with hearts can love. Some liars are heartless. Some liars cannot love
Step 1:Establish notation
hh.p = p has a heart
cl.p = p can love
li.p = p is a liar
Step 2: Translate English to logic
( ∀ p|: ¬hh.p ⇒ ¬ cl.p ) ∧ ( ∃x |: li.x ∧ ¬ hh.x ) ⇒ ( ∃ y |: li.y ∧¬ cl.y)
Step 3 Prove
LHS ( ∀ p|: ¬hh.p ⇒ ¬ cl.p ) ∧ ( ∃x |: li.x ∧ ¬ hh.x )
= Theorem: Contrapositive p ⇒ q ≡ ¬q ⇒ ¬ p
( ∀ p|: cl.p ⇒ hh.p ) ∧ ( ∃x |: li.x ∧ ¬ hh.x )
= Theorem Distribution of ∧ over ∃, P ∧ ( ∃ x | R : Q ) ≡ ( ∃ x | R : P ∧ Q )
( ∃x |: ( ∀ p|: cl.p ⇒ hh.p ) ∧ li.x ∧ ¬ hh.x )
= Monotonicity, Instantiation with (p = x), ∧ is monotonic in both arguments
( ∃ x|: (cl.x ⇒ hh.x) ∧ li.x ∧ ¬ hh.x )
= Theorem: Contrapositive p ⇒ q ≡ ¬q ⇒ ¬ p
( ∃ x |: (¬ hh.x ⇒ ¬ cl.x) ∧ li.x ∧ ¬ hh.x )
⇒ Modus Ponens
( ∃ x |: ¬ cl.x ∧ li.x)
= Translate to English
There exists some people who are liars and also can't love = Some liars can't love QED
No comments:
Post a Comment