Bob is big. Bob is blue. Bob is kind. Bob is nice. Bob is red. Bob is rough. Bob is round. Erin is big. Erin is blue. Erin is kind. Erin is nice. Erin is red. Erin is rough. Erin is round. If Erin is round then Erin is nice. Big things are kind. Rough things are red. If something is blue then it is nice. If something is blue then it is red. Big, nice things are blue. If Erin is blue then Erin is big. Blue things are big.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
If Erin is round then Erin is nice.
((("Erin" "is" "round" "+")) -> ("Erin" "is" "nice" "+"))
Big things are kind.
((("something" "is" "big" "+")) -> ("something" "is" "kind" "+"))
Rough things are red.
((("something" "is" "rough" "+")) -> ("something" "is" "red" "+"))
If something is blue then it is nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
If something is blue then it is red.
((("something" "is" "blue" "+")) -> ("something" "is" "red" "+"))
Big, nice things are blue.
((("something" "is" "big" "+") ("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
If Erin is blue then Erin is big.
((("Erin" "is" "blue" "+")) -> ("Erin" "is" "big" "+"))
Blue things are big.
((("something" "is" "blue" "+")) -> ("something" "is" "big" "+"))
Erin is rough.
True
1
proof
[(triple13)]
("Erin" "is" "rough" "+")
triple13
Erin is not blue.
False
1
inv-proof
[(triple9 OR ((triple8 triple11) -> rule6) OR ((triple8 ((triple14) -> rule1)) -> rule6))]
("Erin" "is" "blue" "-")
triple9
((triple8 triple11) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((triple8 ((triple14) -> (rule1 % int2))) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
@0: Bob is big.[(triple1 OR ((triple2) -> rule8))] Bob is blue.[(triple2 OR ((triple1 triple4) -> rule6))] Bob is kind.[(triple3 OR ((triple1) -> rule2) OR ((((triple2) -> rule8)) -> rule2))] Bob is nice.[(triple4 OR ((triple2) -> rule4))] Bob is red.[(triple5 OR ((triple2) -> rule5) OR ((triple6) -> rule3) OR ((((triple1 triple4) -> rule6)) -> rule5))] Bob is rough.[(triple6)] Bob is round.[(triple7)] Erin is big.[(triple8 OR ((triple9) -> rule7) OR ((triple9) -> rule8))] Erin is blue.[(triple9 OR ((triple8 triple11) -> rule6) OR ((triple8 ((triple14) -> rule1)) -> rule6))] Erin is kind.[(triple10 OR ((triple8) -> rule2) OR ((((triple9) -> rule7)) -> rule2) OR ((((triple9) -> rule8)) -> rule2))] Erin is nice.[(triple11 OR ((triple14) -> rule1) OR ((triple9) -> rule4))] Erin is red.[(triple12 OR ((triple13) -> rule3) OR ((triple9) -> rule5) OR ((((triple8 triple11) -> rule6)) -> rule5) OR ((((triple8 ((triple14) -> rule1)) -> rule6)) -> rule5))] Erin is rough.[(triple13)] Erin is round.[(triple14)]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple2) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple1 triple4) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
triple3
((triple1) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((((triple2) -> (rule8 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
triple4
((triple2) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
triple5
((triple2) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple6) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((triple1 triple4) -> (rule6 % int2))) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
triple6
Bob is round.
("Bob" "is" "round" "+")
triple7
Erin is big.
("Erin" "is" "big" "+")
triple8
((triple9) -> (rule7 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((triple9) -> (rule8 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
triple9
((triple8 triple11) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((triple8 ((triple14) -> (rule1 % int2))) -> (rule6 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
triple10
((triple8) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((((triple9) -> (rule7 % int2))) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((((triple9) -> (rule8 % int2))) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
triple11
((triple14) -> (rule1 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((triple9) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
triple12
((triple13) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple9) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((((triple8 triple11) -> (rule6 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple8 ((triple14) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
triple13
Erin is round.
("Erin" "is" "round" "+")
triple14