Introduction to Logic Induction Michael Genesereth Computer Science






![General Form f 1[s] … fn[s] "u. f[u] General Form f 1[s] … fn[s] "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-7.jpg)
![Finite Example f[a] f[b] f[c] f[d] "x. f[x] Finite Example f[a] f[b] f[c] f[d] "x. f[x]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-8.jpg)




![Linear Induction f[a] "m. (f[m] Þ f[s(m)]) "u. f[u] Linear Induction f[a] "m. (f[m] Þ f[s(m)]) "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-13.jpg)
![Linear Induction Base Case f[a] "m. (f[m] Þ f[s(m)]) "u. f[u] Linear Induction Base Case f[a] "m. (f[m] Þ f[s(m)]) "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-14.jpg)
![Linear Induction Base Case f[a] "m. (f[m] Þ f[s(m)]) Inductive Case "u. f[u] Linear Induction Base Case f[a] "m. (f[m] Þ f[s(m)]) Inductive Case "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-15.jpg)
![Linear Induction Inductive Hypothesis Base Case f[a] "m. (f[m] Þ f[s(m)]) Inductive Case "u. Linear Induction Inductive Hypothesis Base Case f[a] "m. (f[m] Þ f[s(m)]) Inductive Case "u.](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-16.jpg)
![Linear Induction Inductive Hypothesis Base Case Inductive Conclusion f[a] "m. (f[m] Þ f[s(m)]) Inductive Linear Induction Inductive Hypothesis Base Case Inductive Conclusion f[a] "m. (f[m] Þ f[s(m)]) Inductive](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-17.jpg)
![Linear Induction Inductive Hypothesis Base Case Inductive Conclusion f[a] "m. (f[m] Þ f[s(m)]) Inductive Linear Induction Inductive Hypothesis Base Case Inductive Conclusion f[a] "m. (f[m] Þ f[s(m)]) Inductive](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-18.jpg)


















![Tree Induction f[a] "m. (f[m] Þ f[f(m)]) "m. (f[m] Þ f[g(m)]) "u. f[u] Tree Induction f[a] "m. (f[m] Þ f[f(m)]) "m. (f[m] Þ f[g(m)]) "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-37.jpg)













![Structural Induction f[a] "l. "m. (f[l] Ù f[m] Þ f[c(l, m)]) "u. f[u] Structural Induction f[a] "l. "m. (f[l] Ù f[m] Þ f[c(l, m)]) "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-51.jpg)
















- Slides: 67

Introduction to Logic Induction Michael Genesereth Computer Science Department Stanford University

Induction is reasoning from the specific to the general. If various instances of a schema are true and there are no counterexamples, we are tempted to conclude a universally quantified version of the schema. p(a) Þ q(a) p(b) Þ q(b) p(c) Þ q(c) ® "x. p(x) Þ q(x)

Incomplete Induction Definition f(1) = 1 f(x + 1) = f(x) + 2*x + 1 Data Conjecture In this case, the answer is correct. Lucky Guess.

Not So Lucky Guess Data: “Theorem” by Fermat (1601 -1665): Fact discovered (mercifully) after his death: Oops.

Outline Domain Closure finite domains Linear Induction induction on sequences Tree Induction induction on trees Structural Induction induction on arbitrary structures

Domain Closure
![General Form f 1s fns u fu General Form f 1[s] … fn[s] "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-7.jpg)
General Form f 1[s] … fn[s] "u. f[u]
![Finite Example fa fb fc fd x fx Finite Example f[a] f[b] f[c] f[d] "x. f[x]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-8.jpg)
Finite Example f[a] f[b] f[c] f[d] "x. f[x]

Proof 1. p(a) Þ q(a) Premise 2. p(b) Þ q(b) Premise 3. p(c) Þ q(c) Premise 4. p(d) Þ q(d) Premise 5. "x. p(x) Þ q(x) Ind: 1 -4

Infinite Case What happens when we have infinitely many terms? p(a) Þ q(a) p(s(a)) Þ q(s(a)) p(s(s(a))) Þ q(s(s(a))) p(s(s(s(a)))) Þ q(s(s(s(a)))) … "x. p(x) Þ q(x)

Linear Induction

Linear Languages Linearly Structured World: a ® s(a) ® s(s(a)) ® s(s(s(a))) ® … Languages like this are called linear languages. The object constant in a linear language is called the base element, and the function constant is called the successor function.
![Linear Induction fa m fm Þ fsm u fu Linear Induction f[a] "m. (f[m] Þ f[s(m)]) "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-13.jpg)
Linear Induction f[a] "m. (f[m] Þ f[s(m)]) "u. f[u]
![Linear Induction Base Case fa m fm Þ fsm u fu Linear Induction Base Case f[a] "m. (f[m] Þ f[s(m)]) "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-14.jpg)
Linear Induction Base Case f[a] "m. (f[m] Þ f[s(m)]) "u. f[u]
![Linear Induction Base Case fa m fm Þ fsm Inductive Case u fu Linear Induction Base Case f[a] "m. (f[m] Þ f[s(m)]) Inductive Case "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-15.jpg)
Linear Induction Base Case f[a] "m. (f[m] Þ f[s(m)]) Inductive Case "u. f[u]
![Linear Induction Inductive Hypothesis Base Case fa m fm Þ fsm Inductive Case u Linear Induction Inductive Hypothesis Base Case f[a] "m. (f[m] Þ f[s(m)]) Inductive Case "u.](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-16.jpg)
Linear Induction Inductive Hypothesis Base Case f[a] "m. (f[m] Þ f[s(m)]) Inductive Case "u. f[u]
![Linear Induction Inductive Hypothesis Base Case Inductive Conclusion fa m fm Þ fsm Inductive Linear Induction Inductive Hypothesis Base Case Inductive Conclusion f[a] "m. (f[m] Þ f[s(m)]) Inductive](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-17.jpg)
Linear Induction Inductive Hypothesis Base Case Inductive Conclusion f[a] "m. (f[m] Þ f[s(m)]) Inductive Case "u. f[u] Overall Conclusion
![Linear Induction Inductive Hypothesis Base Case Inductive Conclusion fa m fm Þ fsm Inductive Linear Induction Inductive Hypothesis Base Case Inductive Conclusion f[a] "m. (f[m] Þ f[s(m)]) Inductive](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-18.jpg)
Linear Induction Inductive Hypothesis Base Case Inductive Conclusion f[a] "m. (f[m] Þ f[s(m)]) Inductive Case "u. f[u] Overall Conclusion

Dominoes Set-up

Dominoes Example Object constant: a Unary function constant: s Ternary relation constant: falls

Dominoes Example Object constant: a Unary function constant: s Ternary relation constant: falls Axioms: falls(a) "x. (falls(x) Þ falls(s(x))

Dominoes Example Object constant: a Unary function constant: s Ternary relation constant: falls Axioms: falls(a) "x. (falls(x) Þ falls(s(x))) Goal: "x. falls(x)

Dominoes Proof 1. falls(a) Premise 2. "x. (falls(x) Þ falls(s(x))) Premise 3. "x. falls(x) Ind: 1, 2

Arithmetic Example Object constant: 0 Unary function constant: s Ternary relation constant: plus

Arithmetic Example Object constant: 0 Unary function constant: s Ternary relation constant: plus Axioms of Arithmetic: "y. plus(0, y, y) "x. "y. "z. (plus(x, y, z) Þ plus(s(x), y, s(z))

Arithmetic Example Object constant: 0 Unary function constant: s Ternary relation constant: plus Axioms of Arithmetic: "y. plus(0, y, y) "x. "y. "z. (plus(x, y, z) Þ plus(s(x), y, s(z)) Goal: "x. plus(x, 0, x)

Arithmetic Proof 1. "y. plus(0, y, y) Premise 2. "x. "y. "z. (plus(x, y, z) Þ plus(s(x), y, s(z)) Premise

Arithmetic Proof 1. "y. plus(0, y, y) Premise 2. "x. "y. "z. (plus(x, y, z) Þ plus(s(x), y, s(z)) Premise 3. plus(0, 0, 0) UE: 1

Arithmetic Proof 1. "y. plus(0, y, y) Premise 2. "x. "y. "z. (plus(x, y, z) Þ plus(s(x), y, s(z)) Premise 3. plus(0, 0, 0) UE: 1 4. plus(x, 0, x) Assumption

Arithmetic Proof 1. "y. plus(0, y, y) Premise 2. "x. "y. "z. (plus(x, y, z) Þ plus(s(x), y, s(z)) Premise 3. plus(0, 0, 0) UE: 1 4. plus(x, 0, x) Assumption 5. plus(x, 0, x) Þ plus(s(x), 0, s(x)) 3 x UE: 2

Arithmetic Proof 1. "y. plus(0, y, y) Premise 2. "x. "y. "z. (plus(x, y, z) Þ plus(s(x), y, s(z)) Premise 3. plus(0, 0, 0) UE: 1 4. plus(x, 0, x) Assumption 5. plus(x, 0, x) Þ plus(s(x), 0, s(x)) 3 x UE: 2 6. plus(s(x), 0, s(x)) IE: 2, 4

Arithmetic Proof 1. "y. plus(0, y, y) Premise 2. "x. "y. "z. (plus(x, y, z) Þ plus(s(x), y, s(z)) Premise 3. plus(0, 0, 0) UE: 1 4. plus(x, 0, x) Assumption 5. plus(x, 0, x) Þ plus(s(x), 0, s(x)) 3 x UE: 2 6. plus(s(x), 0, s(x)) IE: 2, 4 7. plus(x, 0, x) Þ plus(s(x), 0, s(x)) II: 4, 6

Arithmetic Proof 1. "y. plus(0, y, y) Premise 2. "x. "y. "z. (plus(x, y, z) Þ plus(s(x), y, s(z)) Premise 3. plus(0, 0, 0) UE: 1 4. plus(x, 0, x) Assumption 5. plus(x, 0, x) Þ plus(s(x), 0, s(x)) 3 x UE: 2 6. plus(s(x), 0, s(x)) IE: 2, 4 7. plus(x, 0, x) Þ plus(s(x), 0, s(x)) II: 4, 6 8. "x. plus(x, 0, x) Þ plus(s(x), 0, s(x)) UI: 7

Arithmetic Proof 1. "y. plus(0, y, y) Premise 2. "x. "y. "z. (plus(x, y, z) Þ plus(s(x), y, s(z)) Premise 3. plus(0, 0, 0) UE: 1 4. plus(x, 0, x) Assumption 5. plus(x, 0, x) Þ plus(s(x), 0, s(x)) 3 x UE: 2 6. plus(s(x), 0, s(x)) IE: 2, 4 7. plus(x, 0, x) Þ plus(s(x), 0, s(x)) II: 4, 6 8. "x. plus(x, 0, x) Þ plus(s(x), 0, s(x)) UI: 7 9. "x. plus(x, 0, x) Ind: 3, 8

Tree Induction

Tree Languages Tree-Like World: a f(a) f(f(a)) g(a) g(f(a)) f(g(a)) g(g(a)) Languages like this are called tree languages.
![Tree Induction fa m fm Þ ffm m fm Þ fgm u fu Tree Induction f[a] "m. (f[m] Þ f[f(m)]) "m. (f[m] Þ f[g(m)]) "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-37.jpg)
Tree Induction f[a] "m. (f[m] Þ f[f(m)]) "m. (f[m] Þ f[g(m)]) "u. f[u]

Canine Ancestry Example Object constant: rex Unary function constants: f, g Unary relation constant: p

Canine Ancestry Example Object constant: rex Unary function constants: f, g Unary relation constant: p Axiom: "x. (p(x) Û p(f(x)) Ù p(g(x)))

Canine Example Canine Ancestry Example Object constant: rex Unary function constants: f, g Unary relation constant: p Axioms: p(rex) "x. (p(x) Û p(f(x)) Ù p(g(x))) Goal: "x. p(x)

Canine Ancestry Proof 1. p(rex) Premise 2. "x. (p(x) Û p(f(x)) Ù p(g(x))) Premise

Canine Ancestry Proof 1. p(rex) Premise 2. "x. (p(x) Û p(f(x)) Ù p(g(x))) Premise 3. p(x) Û p(f(x)) Ù p(g(x)) UE: 2 4. p(x) Þ p(f(x)) Ù p(g(x)) BE: 3

Canine Ancestry Proof 1. p(rex) Premise 2. "x. (p(x) Û p(f(x)) Ù p(g(x))) Premise 3. p(x) Û p(f(x)) Ù p(g(x)) UE: 2 4. p(x) Þ p(f(x)) Ù p(g(x)) BE: 3 5. p(x) Assumption

Canine Ancestry Proof 1. p(rex) Premise 2. "x. (p(x) Û p(f(x)) Ù p(g(x))) Premise 3. p(x) Û p(f(x)) Ù p(g(x)) UE: 2 4. p(x) Þ p(f(x)) Ù p(g(x)) BE: 3 5. p(x) Assumption 6. p(f(x)) Ù p(g(x)) IE: 4, 5

Canine Ancestry Proof 1. p(rex) Premise 2. "x. (p(x) Û p(f(x)) Ù p(g(x))) Premise 3. p(x) Û p(f(x)) Ù p(g(x)) UE: 2 4. p(x) Þ p(f(x)) Ù p(g(x)) BE: 3 5. p(x) Assumption 6. p(f(x)) Ù p(g(x)) IE: 4, 5 7. p(f(x)) AE: 6

Canine Ancestry Proof 1. p(rex) Premise 2. "x. (p(x) Û p(f(x)) Ù p(g(x))) Premise 3. p(x) Û p(f(x)) Ù p(g(x)) UE: 2 4. p(x) Þ p(f(x)) Ù p(g(x)) BE: 3 5. p(x) Assumption 6. p(f(x)) Ù p(g(x)) IE: 4, 5 7. p(f(x)) AE: 6 8. p(x) Þ p(f(x)) II: 5, 7 9. "x. (p(x) Þ p(f(x))) UI: 8

Canine Ancestry Proof 1. p(rex) Premise 2. "x. (p(x) Û p(f(x)) Ù p(g(x))) Premise 3. p(x) Û p(f(x)) Ù p(g(x)) UE: 2 4. p(x) Þ p(f(x)) Ù p(g(x)) BE: 3 … 9. "x. (p(x) Þ p(f(x))) UI: 8 … 14. "x. (p(x) Þ p(g(x))) UI: 13 15. "x. p(x) Ind: 1, 9, 14

Canine Ancestry Proof 1. p(rex) Premise 2. "x. (p(x) Û p(f(x)) Ù p(g(x))) Premise 3. p(x) Û p(f(x)) Ù p(g(x)) UE: 2 4. p(x) Þ p(f(x)) Ù p(g(x)) BE: 3 … 9. "x. (p(x) Þ p(f(x))) UI: 8 … 14. "x. (p(x) Þ p(g(x))) UI: 13 15. "x. p(x) Ind: 1, 9, 14

Structural Induction

General Languages Object constant: a, b Binary function constant: c Sample Terms a, c(a, a), c(a, b), c(b, a), c(b, b), c(a, a)), …
![Structural Induction fa l m fl Ù fm Þ fcl m u fu Structural Induction f[a] "l. "m. (f[l] Ù f[m] Þ f[c(l, m)]) "u. f[u]](https://slidetodoc.com/presentation_image_h/d1fdc8ac5141956a3478262698ec0e94/image-51.jpg)
Structural Induction f[a] "l. "m. (f[l] Ù f[m] Þ f[c(l, m)]) "u. f[u]

Chemistry Set-up

Demonstration

Chemistry Example Object constant: 1, 2 Unary function constants: c Unary relation constant: a, n, b

Chemistry Example Object constant: 1, 2 Unary function constants: c Unary relation constant: a, n, b Axioms: "x. (a(x) Ù a(y) Þ a(c(x, y))) "x. (b(x) Ù b(y) Þ b(c(x, y))) "x. (a(x) Ù n(y) Þ a(c(x, y))) "x. (b(x) Ù n(y) Þ b(c(x, y))) "x. (n(x) Ù a(y) Þ a(c(x, y))) "x. (n(x) Ù b(y) Þ b(c(x, y))) "x. (n(x) Ù n(y) Þ n(c(x, y)))

Chemistry Example Object constant: 1, 2 Unary function constants: c Unary relation constant: a, n, b Axioms: "x. (a(x) Ù a(y) Þ a(c(x, y))) "x. (b(x) Ù b(y) Þ b(c(x, y))) "x. (a(x) Ù n(y) Þ a(c(x, y))) "x. (b(x) Ù n(y) Þ b(c(x, y))) "x. (n(x) Ù a(y) Þ a(c(x, y))) "x. (n(x) Ù b(y) Þ b(c(x, y))) "x. (n(x) Ù n(y) Þ n(c(x, y))) a(1), a(2) Goal: "x. a(x)

Chemistry Proof 1. a(1) Premise 2. a(2) Premise 3. "x. "y. (a(x) Ù a(y) Þ a(c(x, y))) Premise

Chemistry Proof 1. a(1) Premise 2. a(2) Premise 3. "x. "y. (a(x) Ù a(y) Þ a(c(x, y))) Premise 4. "x. a(x) Ind: 1, 2, 3

Chemistry Example Object constant: 1, 2 Unary function constants: c Unary relation constant: a, n, b Axioms: "x. (a(x) Ù a(y) Þ a(c(x, y))) "x. (b(x) Ù b(y) Þ b(c(x, y))) "x. (a(x) Ù n(y) Þ a(c(x, y))) "x. (b(x) Ù n(y) Þ b(c(x, y))) "x. (n(x) Ù a(y) Þ a(c(x, y))) "x. (n(x) Ù b(y) Þ b(c(x, y))) "x. (n(x) Ù n(y) Þ n(c(x, y))) a(1), n(2) Goal: "x. (a(x) Ú n(x))

Chemistry Proof 1. a(1) Premise 2. a(2) Premise 3. "x. "y. (a(x) Ù a(y) Þ a(c(x, y))) Premise 4. "x. "y. (a(x) Ù n(y) Þ a(c(x, y))) Premise 5. "x. "y. (n(x) Ù a(y) Þ a(c(x, y))) Premise 6. "x. "y. (n(x) Ù n(y) Þ n(c(x, y))) Premise

Chemistry Proof 7. a(1) Ú n(1) OI: 1 8. a(2) Ú n(2) OI: 2

Chemistry Proof 7. a(1) Ú n(1) OI: 1 8. a(2) Ú n(2) OI: 2 9. (a(x) Ú n(x)) Ù (a(y) Ú n(y)) Assumption

Chemistry Proof 7. a(1) Ú n(1) OI: 1 8. a(2) Ú n(2) OI: 2 9. (a(x) Ú n(x)) Ù (a(y) Ú n(y)) Assumption … 41. a(c(x, y)) Ú n(c(x, y)) OE: 10, 25, 40

Chemistry Proof 7. a(1) Ú n(1) OI: 1 8. a(2) Ú n(2) OI: 2 9. (a(x) Ú n(x)) Ù (a(y) Ú n(y)) Assumption … 41. a(c(x, y)) Ú n(c(x, y)) 42. (a(x) Ú n(x)) Ù (a(y) Ú n(y)) Þ (a(c(x, y)) Ú n(c(x, y))) OE: 10, 25, 40 II: 9, 41

Chemistry Proof 7. a(1) Ú n(1) OI: 1 8. a(2) Ú n(2) OI: 2 9. (a(x) Ú n(x)) Ù (a(y) Ú n(y)) Assumption … 41. a(c(x, y)) Ú n(c(x, y)) OE: 10, 25, 40 42. (a(x) Ú n(x)) Ù (a(y) Ú n(y)) Þ (a(c(x, y)) Ú n(c(x, y))) II: 9, 41 43. "x. "y. (a(x) Ú n(x)) Ù (a(y) Ú n(y)) Þ (a(c(x, y)) Ú n(c(x, y))) 2 x UI: 42

Chemistry Proof 7. a(1) Ú n(1) OI: 1 8. a(2) Ú n(2) OI: 2 9. (a(x) Ú n(x)) Ù (a(y) Ú n(y)) Assumption … 41. a(c(x, y)) Ú n(c(x, y)) OE: 10, 25, 40 42. (a(x) Ú n(x)) Ù (a(y) Ú n(y)) Þ (a(c(x, y)) Ú n(c(x, y))) II: 9, 41 43. "x. "y. (a(x) Ú n(x)) Ù (a(y) Ú n(y)) Þ (a(c(x, y)) Ú n(c(x, y))) 2 x UI: 42 44. "x. (a(x) Ú n(x)) Ind: 7, 8, 43
