Bob is nice. Dave is nice. Fiona is cold. Harry is nice. If someone is cold then they are blue. Cold, nice people are kind. All big, blue people are smart. If someone is cold and kind then they are smart. If Dave is cold then Dave is big. If someone is cold and blue then they are quiet. If someone is cold and quiet then they are nice. All nice, quiet people are big.
Bob is nice.
("Bob" "is" "nice" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Harry is nice.
("Harry" "is" "nice" "+")
If someone is cold then they are blue.
((("someone" "is" "cold" "+")) -> ("someone" "is" "blue" "+"))
Cold, nice people are kind.
((("someone" "is" "cold" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
All big, blue people are smart.
((("someone" "is" "big" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "smart" "+"))
If someone is cold and kind then they are smart.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "smart" "+"))
If Dave is cold then Dave is big.
((("Dave" "is" "cold" "+")) -> ("Dave" "is" "big" "+"))
If someone is cold and blue then they are quiet.
((("someone" "is" "cold" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "quiet" "+"))
If someone is cold and quiet then they are nice.
((("someone" "is" "cold" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "nice" "+"))
All nice, quiet people are big.
((("someone" "is" "nice" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "big" "+"))
Harry is nice.
True
1
proof
[(triple4)]
("Harry" "is" "nice" "+")
triple4
Harry is not nice.
False
1
inv-proof
[(triple4)]
("Harry" "is" "nice" "-")
triple4
Fiona is blue.
True
2
proof
[(((triple3) -> rule1))]
("Fiona" "is" "blue" "+")
((triple3) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is not blue.
False
2
inv-proof
[(((triple3) -> rule1))]
("Fiona" "is" "blue" "-")
((triple3) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
True
4
proof
[(((triple3 ((triple3) -> rule1)) -> rule6))]
("Fiona" "is" "quiet" "+")
((triple3 ((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not quiet.
False
4
inv-proof
[(((triple3 ((triple3) -> rule1)) -> rule6))]
("Fiona" "is" "quiet" "-")
((triple3 ((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Bob is not kind.
Unknown
inv-rconc
[@1: Bob is kind.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "kind" "-")
Dave is blue.
Unknown
rconc
[@1: Dave is blue.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "blue" "+")
Dave is not big.
Unknown
inv-rconc
[@2: Dave is big.[CWA. Example of deepest failure = (rule8 <- rule6 <- FAIL)]]
("Dave" "is" "big" "-")
Dave is cold.
Unknown
random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "+")
Bob is not cold.
Unknown
inv-random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "-")
Harry is cold.
Unknown
random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "+")
@0: Bob is nice.[(triple1)] Dave is nice.[(triple2)] Fiona is cold.[(triple3)] Harry is nice.[(triple4)] @1: Fiona is blue.[(((triple3) -> rule1))] @2: Fiona is quiet.[(((triple3 ((triple3) -> rule1)) -> rule6))] @3: Fiona is nice.[(((triple3 ((triple3 ((triple3) -> rule1)) -> rule6)) -> rule7))] @4: Fiona is big.[(((((triple3 ((triple3 ((triple3) -> rule1)) -> rule6)) -> rule7) ((triple3 ((triple3) -> rule1)) -> rule6)) -> rule8))] Fiona is kind.[(((triple3 ((triple3 ((triple3 ((triple3) -> rule1)) -> rule6)) -> rule7)) -> rule2))] @5: Fiona is smart.[(((triple3 ((triple3 ((triple3 ((triple3 ((triple3) -> rule1)) -> rule6)) -> rule7)) -> rule2)) -> rule4) OR ((((((triple3 ((triple3 ((triple3) -> rule1)) -> rule6)) -> rule7) ((triple3 ((triple3) -> rule1)) -> rule6)) -> rule8) ((triple3) -> rule1)) -> rule3))]
Bob is nice.
("Bob" "is" "nice" "+")
triple1
Dave is nice.
("Dave" "is" "nice" "+")
triple2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple3
Harry is nice.
("Harry" "is" "nice" "+")
triple4
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple3) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple3 ((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple3 ((triple3 ((triple3) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
((((triple3 ((triple3 ((triple3) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule7 % int2)) ((triple3 ((triple3) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule8 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple3 ((triple3 ((triple3 ((triple3) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple3 ((triple3 ((triple3 ((triple3 ((triple3) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5
((((((triple3 ((triple3 ((triple3) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule7 % int3)) ((triple3 ((triple3) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule8 % int2)) ((triple3) -> (rule1 % int5))) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5