Loading [MathJax]/jax/output/HTML-CSS/jax.js

Sunday, October 2, 2011

EQ 6: Monotonicity

(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 |: F1F2 )

(3) Replace ( F1F2 ) by ¬( F1F2 )

(4) Replace ( F1F2 ) by ¬( F1F2 )

(5) Replace ( F1F2 ) by ( F2F1 )

(6) Replace ( F1F2 ) by ( ¬F1F2 )

(7) Replace ( F1F2 ) by ( ¬(¬F1¬F2) )

(8) If z is in the second operand F2 of ( F1F2 ), replace ( F1F2 ) by ( F2F1 )

(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) PQpositionofzismonotonicE[z:=P]E[z:=Q]


(2) PQpositionofzisantimonotonicE[z:=P]E[z:=Q]

(g) Convention for citing monotonicity in proofs

(x|:PR)
Monotonicity, weakening P P Q
(x|:(PQ)R)

Explanation: Consider (x|:PR) to be E (x|:zR) 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)(xE):P)

= Axiom: Range Split (|RS:P)(|R:P)(|S:P) here =. notated as


(x|(x=E):P)(x|(xE):P)

Theorem:aba

(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