Bob is big. Bob is cold. Bob is rough. Bob is white. Bob is not young. Fiona is red. Fiona is rough. Fiona is round. Harry is cold. Harry is red. Harry is round. Harry is not young. All rough things are big. Cold, white things are big. If something is young and round then it is not rough. Round, cold things are rough. Big things are cold. All red, big things are white.
Bob is big.
("Bob" "is" "big" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is not young.
("Bob" "is" "young" "-")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is not young.
("Harry" "is" "young" "-")
All rough things are big.
((("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
Cold, white things are big.
((("something" "is" "cold" "+") ("something" "is" "white" "+")) -> ("something" "is" "big" "+"))
If something is young and round then it is not rough.
((("something" "is" "young" "+") ("something" "is" "round" "+")) -> ("something" "is" "rough" "-"))
Round, cold things are rough.
((("something" "is" "round" "+") ("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
Big things are cold.
((("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
All red, big things are white.
((("something" "is" "red" "+") ("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
Harry is cold.
True
1
proof
[(triple9)]
("Harry" "is" "cold" "+")
triple9
Harry is not round.
False
1
inv-proof
[(triple11)]
("Harry" "is" "round" "-")
triple11
Harry is rough.
True
3
proof
[(((triple11 triple9) -> rule4))]
("Harry" "is" "rough" "+")
((triple11 triple9) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is not rough.
False
3
inv-proof
[(((triple11 triple9) -> rule4))]
("Harry" "is" "rough" "-")
((triple11 triple9) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is big.
True
4
proof
[(((((triple11 triple9) -> rule4)) -> rule1))]
("Harry" "is" "big" "+")
((((triple11 triple9) -> (rule4 % int2))) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is not big.
False
4
inv-proof
[(((((triple11 triple9) -> rule4)) -> rule1))]
("Harry" "is" "big" "-")
((((triple11 triple9) -> (rule4 % int2))) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Fiona is not young.
Unknown
inv-random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
@0: Bob is big.[(triple1 OR ((triple3) -> rule1) OR ((triple2 triple4) -> rule2))] Bob is cold.[(triple2 OR ((triple1) -> rule5) OR ((((triple3) -> rule1)) -> rule5))] Bob is not young.[(triple5)] Bob is rough.[(triple3)] Bob is white.[(triple4)] Fiona is red.[(triple6)] Fiona is rough.[(triple7)] Fiona is round.[(triple8)] Harry is cold.[(triple9)] Harry is not young.[(triple12)] Harry is red.[(triple10)] Harry is round.[(triple11)] @1: Fiona is big.[(((triple7) -> rule1))] Harry is rough.[(((triple11 triple9) -> rule4))] @2: Fiona is cold.[(((((triple7) -> rule1)) -> rule5))] Fiona is white.[(((triple6 ((triple7) -> rule1)) -> rule6))] Harry is big.[(((((triple11 triple9) -> rule4)) -> rule1))] @3: Harry is white.[(((triple10 ((((triple11 triple9) -> rule4)) -> rule1)) -> rule6))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple3) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple2 triple4) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
((triple1) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is not young.
("Bob" "is" "young" "-")
triple5
Bob is rough.
("Bob" "is" "rough" "+")
triple3
Bob is white.
("Bob" "is" "white" "+")
triple4
Fiona is red.
("Fiona" "is" "red" "+")
triple6
Fiona is rough.
("Fiona" "is" "rough" "+")
triple7
Fiona is round.
("Fiona" "is" "round" "+")
triple8
Harry is cold.
("Harry" "is" "cold" "+")
triple9
Harry is not young.
("Harry" "is" "young" "-")
triple12
Harry is red.
("Harry" "is" "red" "+")
triple10
Harry is round.
("Harry" "is" "round" "+")
triple11
Fiona is big.
("Fiona" "is" "big" "+")
((triple7) -> (rule1 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
((triple11 triple9) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
((triple6 ((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
((((triple11 triple9) -> (rule4 % int2))) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
((triple10 ((((triple11 triple9) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3