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