Bob is cold. Bob is nice. Bob is quiet. Bob is round. Bob is smart. Bob is white. Bob is young. If Bob is smart and Bob is cold then Bob is young. If Bob is cold and Bob is nice then Bob is young. If Bob is nice and Bob is cold then Bob is young. If something is young then it is quiet. If Bob is cold then Bob is nice. Round, young things are white. Nice, cold things are round. Cold things are round.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
If Bob is smart and Bob is cold then Bob is young.
((("Bob" "is" "smart" "+") ("Bob" "is" "cold" "+")) -> ("Bob" "is" "young" "+"))
If Bob is cold and Bob is nice then Bob is young.
((("Bob" "is" "cold" "+") ("Bob" "is" "nice" "+")) -> ("Bob" "is" "young" "+"))
If Bob is nice and Bob is cold then Bob is young.
((("Bob" "is" "nice" "+") ("Bob" "is" "cold" "+")) -> ("Bob" "is" "young" "+"))
If something is young then it is quiet.
((("something" "is" "young" "+")) -> ("something" "is" "quiet" "+"))
If Bob is cold then Bob is nice.
((("Bob" "is" "cold" "+")) -> ("Bob" "is" "nice" "+"))
Round, young things are white.
((("something" "is" "round" "+") ("something" "is" "young" "+")) -> ("something" "is" "white" "+"))
Nice, cold things are round.
((("something" "is" "nice" "+") ("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
Cold things are round.
((("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
Bob is nice.
True
1
proof
[(triple2 OR ((triple1) -> rule5))]
("Bob" "is" "nice" "+")
triple2
((triple1) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is not nice.
False
1
inv-proof
[(triple2 OR ((triple1) -> rule5))]
("Bob" "is" "nice" "-")
triple2
((triple1) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
@0: Bob is cold.[(triple1)] Bob is nice.[(triple2 OR ((triple1) -> rule5))] Bob is quiet.[(triple3 OR ((triple7) -> rule4) OR ((((triple1 triple2) -> rule2)) -> rule4) OR ((((triple2 triple1) -> rule3)) -> rule4) OR ((((triple5 triple1) -> rule1)) -> rule4) OR ((((triple1 ((triple1) -> rule5)) -> rule2)) -> rule4) OR ((((((triple1) -> rule5) triple1) -> rule3)) -> rule4))] Bob is round.[(triple4 OR ((triple1) -> rule8) OR ((triple2 triple1) -> rule7) OR ((((triple1) -> rule5) triple1) -> rule7))] Bob is smart.[(triple5)] Bob is white.[(triple6 OR ((triple4 triple7) -> rule6) OR ((triple4 ((triple1 triple2) -> rule2)) -> rule6) OR ((triple4 ((triple2 triple1) -> rule3)) -> rule6) OR ((triple4 ((triple5 triple1) -> rule1)) -> rule6) OR ((((triple1) -> rule8) triple7) -> rule6) OR ((((triple2 triple1) -> rule7) triple7) -> rule6) OR ((((triple1) -> rule8) ((triple1 triple2) -> rule2)) -> rule6) OR ((((triple1) -> rule8) ((triple2 triple1) -> rule3)) -> rule6) OR ((((triple1) -> rule8) ((triple5 triple1) -> rule1)) -> rule6) OR ((((triple2 triple1) -> rule7) ((triple1 triple2) -> rule2)) -> rule6) OR ((((triple2 triple1) -> rule7) ((triple2 triple1) -> rule3)) -> rule6) OR ((((triple2 triple1) -> rule7) ((triple5 triple1) -> rule1)) -> rule6) OR ((triple4 ((triple1 ((triple1) -> rule5)) -> rule2)) -> rule6) OR ((triple4 ((((triple1) -> rule5) triple1) -> rule3)) -> rule6) OR ((((((triple1) -> rule5) triple1) -> rule7) triple7) -> rule6) OR ((((triple1) -> rule8) ((triple1 ((triple1) -> rule5)) -> rule2)) -> rule6) OR ((((triple1) -> rule8) ((((triple1) -> rule5) triple1) -> rule3)) -> rule6) OR ((((triple2 triple1) -> rule7) ((triple1 ((triple1) -> rule5)) -> rule2)) -> rule6) OR ((((triple2 triple1) -> rule7) ((((triple1) -> rule5) triple1) -> rule3)) -> rule6) OR ((((((triple1) -> rule5) triple1) -> rule7) ((triple1 triple2) -> rule2)) -> rule6) OR ((((((triple1) -> rule5) triple1) -> rule7) ((triple2 triple1) -> rule3)) -> rule6) OR ((((((triple1) -> rule5) triple1) -> rule7) ((triple5 triple1) -> rule1)) -> rule6) OR ((((((triple1) -> rule5) triple1) -> rule7) ((triple1 ((triple1) -> rule5)) -> rule2)) -> rule6) OR ((((((triple1) -> rule5) triple1) -> rule7) ((((triple1) -> rule5) triple1) -> rule3)) -> rule6))] Bob is young.[(triple7 OR ((triple1 triple2) -> rule2) OR ((triple2 triple1) -> rule3) OR ((triple5 triple1) -> rule1) OR ((triple1 ((triple1) -> rule5)) -> rule2) OR ((((triple1) -> rule5) triple1) -> rule3))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
((triple1) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
((triple7) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple1 triple2) -> (rule2 % int2))) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple2 triple1) -> (rule3 % int2))) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple5 triple1) -> (rule1 % int2))) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple1 ((triple1) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((((((triple1) -> (rule5 % int3)) triple1) -> (rule3 % int2))) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
triple4
((triple1) -> (rule8 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2 triple1) -> (rule7 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple1) -> (rule5 % int2)) triple1) -> (rule7 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
triple5
Bob is white.
("Bob" "is" "white" "+")
triple6
((triple4 triple7) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((triple4 ((triple1 triple2) -> (rule2 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((triple4 ((triple2 triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((triple4 ((triple5 triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple1) -> (rule8 % int2)) triple7) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple2 triple1) -> (rule7 % int2)) triple7) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((triple1) -> (rule8 % int3)) ((triple1 triple2) -> (rule2 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((triple1) -> (rule8 % int3)) ((triple2 triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((triple1) -> (rule8 % int3)) ((triple5 triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((triple2 triple1) -> (rule7 % int3)) ((triple1 triple2) -> (rule2 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((triple2 triple1) -> (rule7 % int3)) ((triple2 triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((triple2 triple1) -> (rule7 % int3)) ((triple5 triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((triple4 ((triple1 ((triple1) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((triple4 ((((triple1) -> (rule5 % int3)) triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((((((triple1) -> (rule5 % int3)) triple1) -> (rule7 % int2)) triple7) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((((triple1) -> (rule8 % int4)) ((triple1 ((triple1) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((triple1) -> (rule8 % int4)) ((((triple1) -> (rule5 % int3)) triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((triple2 triple1) -> (rule7 % int4)) ((triple1 ((triple1) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((triple2 triple1) -> (rule7 % int4)) ((((triple1) -> (rule5 % int3)) triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((((triple1) -> (rule5 % int4)) triple1) -> (rule7 % int3)) ((triple1 triple2) -> (rule2 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
((((((triple1) -> (rule5 % int4)) triple1) -> (rule7 % int3)) ((triple2 triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
((((((triple1) -> (rule5 % int4)) triple1) -> (rule7 % int3)) ((triple5 triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
((((((triple1) -> (rule5 % int4)) triple1) -> (rule7 % int3)) ((triple1 ((triple1) -> (rule5 % int4))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
((((((triple1) -> (rule5 % int4)) triple1) -> (rule7 % int3)) ((((triple1) -> (rule5 % int4)) triple1) -> (rule3 % int2))) -> (rule6 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is young.
("Bob" "is" "young" "+")
triple7
((triple1 triple2) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple2 triple1) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple5 triple1) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((triple1 ((triple1) -> (rule5 % int2))) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((((triple1) -> (rule5 % int2)) triple1) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2