Bob is blue. Bob is cold. Bob is green. Bob is quiet. Bob is round. Bob is smart. Bob is young. Dave is blue. Dave is cold. Dave is green. Dave is smart. Dave is young. If something is blue and young then it is smart. If something is quiet then it is green. Green things are quiet.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is young.
("Dave" "is" "young" "+")
If something is blue and young then it is smart.
((("something" "is" "blue" "+") ("something" "is" "young" "+")) -> ("something" "is" "smart" "+"))
If something is quiet then it is green.
((("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
Green things are quiet.
((("something" "is" "green" "+")) -> ("something" "is" "quiet" "+"))
Dave is blue.
True
1
proof
[(triple8)]
("Dave" "is" "blue" "+")
triple8
Dave is not smart.
False
1
inv-proof
[(triple11 OR ((triple8 triple12) -> rule1))]
("Dave" "is" "smart" "-")
triple11
((triple8 triple12) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is quiet.
True
2
proof
[(((triple10) -> rule3))]
("Dave" "is" "quiet" "+")
((triple10) -> (rule3 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is not quiet.
False
2
inv-proof
[(((triple10) -> rule3))]
("Dave" "is" "quiet" "-")
((triple10) -> (rule3 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
@0: Bob is blue.[(triple1)] Bob is cold.[(triple2)] Bob is green.[(triple3 OR ((triple4) -> rule2))] Bob is quiet.[(triple4 OR ((triple3) -> rule3))] Bob is round.[(triple5)] Bob is smart.[(triple6 OR ((triple1 triple7) -> rule1))] Bob is young.[(triple7)] Dave is blue.[(triple8)] Dave is cold.[(triple9)] Dave is green.[(triple10)] Dave is smart.[(triple11 OR ((triple8 triple12) -> rule1))] Dave is young.[(triple12)] @1: Dave is quiet.[(((triple10) -> rule3))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is green.
("Bob" "is" "green" "+")
triple3
((triple4) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
((triple3) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
triple5
Bob is smart.
("Bob" "is" "smart" "+")
triple6
((triple1 triple7) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple7
Dave is blue.
("Dave" "is" "blue" "+")
triple8
Dave is cold.
("Dave" "is" "cold" "+")
triple9
Dave is green.
("Dave" "is" "green" "+")
triple10
Dave is smart.
("Dave" "is" "smart" "+")
triple11
((triple8 triple12) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
triple12
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple10) -> (rule3 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1