Bob is big. Bob is nice. Bob is red. Bob is round. Bob is smart. Erin is round. Erin is smart. Fiona is nice. Fiona is red. Fiona is round. Harry is blue. Harry is cold. Harry is nice. Harry is red. Harry is round. Harry is smart. If Harry is blue and Harry is big then Harry is nice. If something is cold then it is blue. If Harry is nice and Harry is smart then Harry is big. If something is cold then it is nice. Red, nice things are big. Cold, blue things are big.
Bob is big.
("Bob" "is" "big" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is smart.
("Harry" "is" "smart" "+")
If Harry is blue and Harry is big then Harry is nice.
((("Harry" "is" "blue" "+") ("Harry" "is" "big" "+")) -> ("Harry" "is" "nice" "+"))
If something is cold then it is blue.
((("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
If Harry is nice and Harry is smart then Harry is big.
((("Harry" "is" "nice" "+") ("Harry" "is" "smart" "+")) -> ("Harry" "is" "big" "+"))
If something is cold then it is nice.
((("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
Red, nice things are big.
((("something" "is" "red" "+") ("something" "is" "nice" "+")) -> ("something" "is" "big" "+"))
Cold, blue things are big.
((("something" "is" "cold" "+") ("something" "is" "blue" "+")) -> ("something" "is" "big" "+"))
Fiona is round.
True
1
proof
[(triple10)]
("Fiona" "is" "round" "+")
triple10
Harry is not red.
False
1
inv-proof
[(triple14)]
("Harry" "is" "red" "-")
triple14
Fiona is big.
True
3
proof
[(((triple9 triple8) -> rule5))]
("Fiona" "is" "big" "+")
((triple9 triple8) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is not big.
False
3
inv-proof
[(((triple9 triple8) -> rule5))]
("Fiona" "is" "big" "-")
((triple9 triple8) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Bob is not blue.
Unknown
inv-rconc
[@1: Bob is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "blue" "-")
Erin is nice.
Unknown
rconc
[@1: Erin is nice.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Erin" "is" "nice" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
@0: Bob is big.[(triple1 OR ((triple3 triple2) -> rule5))] Bob is nice.[(triple2)] Bob is red.[(triple3)] Bob is round.[(triple4)] Bob is smart.[(triple5)] Erin is round.[(triple6)] Erin is smart.[(triple7)] Fiona is nice.[(triple8)] Fiona is red.[(triple9)] Fiona is round.[(triple10)] Harry is blue.[(triple11 OR ((triple12) -> rule2))] Harry is cold.[(triple12)] Harry is nice.[(triple13 OR ((triple12) -> rule4) OR ((triple11 ((triple12 triple11) -> rule6)) -> rule1) OR ((((triple12) -> rule2) ((triple12 triple11) -> rule6)) -> rule1) OR ((triple11 ((triple12 ((triple12) -> rule2)) -> rule6)) -> rule1) OR ((((triple12) -> rule2) ((triple12 ((triple12) -> rule2)) -> rule6)) -> rule1))] Harry is red.[(triple14)] Harry is round.[(triple15)] Harry is smart.[(triple16)] @1: Fiona is big.[(((triple9 triple8) -> rule5))] Harry is big.[(((triple12 triple11) -> rule6) OR ((triple13 triple16) -> rule3) OR ((triple14 triple13) -> rule5) OR ((triple12 ((triple12) -> rule2)) -> rule6) OR ((triple14 ((triple12) -> rule4)) -> rule5) OR ((((triple12) -> rule4) triple16) -> rule3))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple3 triple2) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is red.
("Bob" "is" "red" "+")
triple3
Bob is round.
("Bob" "is" "round" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
Erin is round.
("Erin" "is" "round" "+")
triple6
Erin is smart.
("Erin" "is" "smart" "+")
triple7
Fiona is nice.
("Fiona" "is" "nice" "+")
triple8
Fiona is red.
("Fiona" "is" "red" "+")
triple9
Fiona is round.
("Fiona" "is" "round" "+")
triple10
Harry is blue.
("Harry" "is" "blue" "+")
triple11
((triple12) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
triple12
Harry is nice.
("Harry" "is" "nice" "+")
triple13
((triple12) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((triple11 ((triple12 triple11) -> (rule6 % int2))) -> (rule1 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple12) -> (rule2 % int3)) ((triple12 triple11) -> (rule6 % int2))) -> (rule1 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
((triple11 ((triple12 ((triple12) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
((((triple12) -> (rule2 % int3)) ((triple12 ((triple12) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
triple14
Harry is round.
("Harry" "is" "round" "+")
triple15
Harry is smart.
("Harry" "is" "smart" "+")
triple16
Fiona is big.
("Fiona" "is" "big" "+")
((triple9 triple8) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple12 triple11) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple13 triple16) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple14 triple13) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple12 ((triple12) -> (rule2 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((triple14 ((triple12) -> (rule4 % int2))) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((triple12) -> (rule4 % int2)) triple16) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2