Bob is big. Bob is cold. Bob is green. Bob is round. Bob is young. Dave is cold. Fiona is blue. Fiona is cold. Fiona is smart. Fiona is young. If someone is cold then they are green. If someone is smart and young then they are round. If someone is cold then they are big. All big people are blue. All smart, young people are round. Smart, big people are blue. Cold people are smart. If Bob is round and Bob is cold then Bob is big.
Bob is big.
("Bob" "is" "big" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If someone is cold then they are green.
((("someone" "is" "cold" "+")) -> ("someone" "is" "green" "+"))
If someone is smart and young then they are round.
((("someone" "is" "smart" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
If someone is cold then they are big.
((("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
All big people are blue.
((("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
All smart, young people are round.
((("someone" "is" "smart" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
Smart, big people are blue.
((("someone" "is" "smart" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
Cold people are smart.
((("someone" "is" "cold" "+")) -> ("someone" "is" "smart" "+"))
If Bob is round and Bob is cold then Bob is big.
((("Bob" "is" "round" "+") ("Bob" "is" "cold" "+")) -> ("Bob" "is" "big" "+"))
Bob is big.
True
1
proof
[(triple1 OR ((triple2) -> rule3) OR ((triple4 triple2) -> rule8) OR ((((((triple2) -> rule7) triple5) -> rule2) triple2) -> rule8) OR ((((((triple2) -> rule7) triple5) -> rule5) triple2) -> rule8))]
("Bob" "is" "big" "+")
triple1
((triple2) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple4 triple2) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((((((triple2) -> (rule7 % int3)) triple5) -> (rule2 % int2)) triple2) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple2) -> (rule7 % int3)) triple5) -> (rule5 % int2)) triple2) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Fiona is not cold.
False
1
inv-proof
[(triple8)]
("Fiona" "is" "cold" "-")
triple8
Dave is not round.
Unknown
inv-rconc
[@1: Dave is round.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "round" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
@0: Bob is big.[(triple1 OR ((triple2) -> rule3) OR ((triple4 triple2) -> rule8) OR ((((((triple2) -> rule7) triple5) -> rule2) triple2) -> rule8) OR ((((((triple2) -> rule7) triple5) -> rule5) triple2) -> rule8))] Bob is cold.[(triple2)] Bob is green.[(triple3 OR ((triple2) -> rule1))] Bob is round.[(triple4 OR ((((triple2) -> rule7) triple5) -> rule2) OR ((((triple2) -> rule7) triple5) -> rule5))] Bob is young.[(triple5)] Dave is cold.[(triple6)] Fiona is blue.[(triple7 OR ((((triple8) -> rule3)) -> rule4) OR ((triple9 ((triple8) -> rule3)) -> rule6) OR ((((triple8) -> rule7) ((triple8) -> rule3)) -> rule6))] Fiona is cold.[(triple8)] Fiona is smart.[(triple9 OR ((triple8) -> rule7))] Fiona is young.[(triple10)] @1: Bob is blue.[(((triple1) -> rule4) OR ((((triple2) -> rule3)) -> rule4) OR ((((triple4 triple2) -> rule8)) -> rule4) OR ((((triple2) -> rule7) triple1) -> rule6) OR ((((triple2) -> rule7) ((triple2) -> rule3)) -> rule6) OR ((((triple2) -> rule7) ((triple4 triple2) -> rule8)) -> rule6) OR ((((((((triple2) -> rule7) triple5) -> rule2) triple2) -> rule8)) -> rule4) OR ((((((((triple2) -> rule7) triple5) -> rule5) triple2) -> rule8)) -> rule4) OR ((((triple2) -> rule7) ((((((triple2) -> rule7) triple5) -> rule2) triple2) -> rule8)) -> rule6) OR ((((triple2) -> rule7) ((((((triple2) -> rule7) triple5) -> rule5) triple2) -> rule8)) -> rule6))] Bob is smart.[(((triple2) -> rule7))] Dave is big.[(((triple6) -> rule3))] Dave is green.[(((triple6) -> rule1))] Dave is smart.[(((triple6) -> rule7))] Fiona is big.[(((triple8) -> rule3))] Fiona is green.[(((triple8) -> rule1))] Fiona is round.[(((triple9 triple10) -> rule2) OR ((triple9 triple10) -> rule5) OR ((((triple8) -> rule7) triple10) -> rule2) OR ((((triple8) -> rule7) triple10) -> rule5))] @2: Dave is blue.[(((((triple6) -> rule3)) -> rule4) OR ((((triple6) -> rule7) ((triple6) -> rule3)) -> rule6))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple2) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple4 triple2) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((((((triple2) -> (rule7 % int3)) triple5) -> (rule2 % int2)) triple2) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple2) -> (rule7 % int3)) triple5) -> (rule5 % int2)) triple2) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is green.
("Bob" "is" "green" "+")
triple3
((triple2) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
triple4
((((triple2) -> (rule7 % int2)) triple5) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple2) -> (rule7 % int2)) triple5) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
triple5
Dave is cold.
("Dave" "is" "cold" "+")
triple6
Fiona is blue.
("Fiona" "is" "blue" "+")
triple7
((((triple8) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((triple9 ((triple8) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((((triple8) -> (rule7 % int3)) ((triple8) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
triple8
Fiona is smart.
("Fiona" "is" "smart" "+")
triple9
((triple8) -> (rule7 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple10
Bob is blue.
("Bob" "is" "blue" "+")
((triple1) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((triple4 triple2) -> (rule8 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((triple2) -> (rule7 % int2)) triple1) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple2) -> (rule7 % int3)) ((triple2) -> (rule3 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple2) -> (rule7 % int3)) ((triple4 triple2) -> (rule8 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((((triple2) -> (rule7 % int4)) triple5) -> (rule2 % int3)) triple2) -> (rule8 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((((((triple2) -> (rule7 % int4)) triple5) -> (rule5 % int3)) triple2) -> (rule8 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((triple2) -> (rule7 % int4)) ((((((triple2) -> (rule7 % int4)) triple5) -> (rule2 % int3)) triple2) -> (rule8 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((triple2) -> (rule7 % int4)) ((((((triple2) -> (rule7 % int4)) triple5) -> (rule5 % int3)) triple2) -> (rule8 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
((triple2) -> (rule7 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
((triple6) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
((triple6) -> (rule1 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((triple6) -> (rule7 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
((triple8) -> (rule3 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple8) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple9 triple10) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple9 triple10) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple8) -> (rule7 % int2)) triple10) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple8) -> (rule7 % int2)) triple10) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
((((triple6) -> (rule3 % int2))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((((triple6) -> (rule7 % int3)) ((triple6) -> (rule3 % int2))) -> (rule6 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3