Erin is kind. Erin is nice. Erin is red. Erin is round. Erin is smart. Fiona is kind. Fiona is round. Fiona is smart. Harry is kind. Harry is nice. Harry is quiet. Harry is red. Round, red things are quiet. If something is kind and smart then it is red. If Fiona is quiet then Fiona is cold. If Erin is kind then Erin is quiet. All round, red things are nice. If something is cold and kind then it is round. Nice, quiet things are round. Nice things are smart.
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
Round, red things are quiet.
((("something" "is" "round" "+") ("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
If something is kind and smart then it is red.
((("something" "is" "kind" "+") ("something" "is" "smart" "+")) -> ("something" "is" "red" "+"))
If Fiona is quiet then Fiona is cold.
((("Fiona" "is" "quiet" "+")) -> ("Fiona" "is" "cold" "+"))
If Erin is kind then Erin is quiet.
((("Erin" "is" "kind" "+")) -> ("Erin" "is" "quiet" "+"))
All round, red things are nice.
((("something" "is" "round" "+") ("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
If something is cold and kind then it is round.
((("something" "is" "cold" "+") ("something" "is" "kind" "+")) -> ("something" "is" "round" "+"))
Nice, quiet things are round.
((("something" "is" "nice" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "round" "+"))
Nice things are smart.
((("something" "is" "nice" "+")) -> ("something" "is" "smart" "+"))
Fiona is kind.
True
1
proof
[(triple6)]
("Fiona" "is" "kind" "+")
triple6
Erin is not red.
False
1
inv-proof
[(triple3 OR ((triple1 triple5) -> rule2) OR ((triple1 ((triple2) -> rule8)) -> rule2))]
("Erin" "is" "red" "-")
triple3
((triple1 triple5) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple1 ((triple2) -> (rule8 % int2))) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Harry is round.
True
3
proof
[(((triple10 triple11) -> rule7))]
("Harry" "is" "round" "+")
((triple10 triple11) -> (rule7 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is not smart.
False
2
inv-proof
[(((triple10) -> rule8))]
("Harry" "is" "smart" "-")
((triple10) -> (rule8 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Fiona is quiet.
True
5
proof
[(((triple7 ((triple6 triple8) -> rule2)) -> rule1))]
("Fiona" "is" "quiet" "+")
((triple7 ((triple6 triple8) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is not nice.
False
5
inv-proof
[(((triple7 ((triple6 triple8) -> rule2)) -> rule5))]
("Fiona" "is" "nice" "-")
((triple7 ((triple6 triple8) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is cold.
True
6
proof
[(((((triple7 ((triple6 triple8) -> rule2)) -> rule1)) -> rule3))]
("Fiona" "is" "cold" "+")
((((triple7 ((triple6 triple8) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is not cold.
False
6
inv-proof
[(((((triple7 ((triple6 triple8) -> rule2)) -> rule1)) -> rule3))]
("Fiona" "is" "cold" "-")
((((triple7 ((triple6 triple8) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Erin is not cold.
Unknown
inv-random
[@0: Erin is cold.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "cold" "-")
Harry is cold.
Unknown
random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "+")
@0: Erin is kind.[(triple1)] Erin is nice.[(triple2 OR ((triple4 triple3) -> rule5) OR ((triple4 ((triple1 triple5) -> rule2)) -> rule5))] Erin is red.[(triple3 OR ((triple1 triple5) -> rule2) OR ((triple1 ((triple2) -> rule8)) -> rule2))] Erin is round.[(triple4 OR ((triple2 ((triple1) -> rule4)) -> rule7))] Erin is smart.[(triple5 OR ((triple2) -> rule8) OR ((((triple4 triple3) -> rule5)) -> rule8))] Fiona is kind.[(triple6)] Fiona is round.[(triple7)] Fiona is smart.[(triple8)] Harry is kind.[(triple9)] Harry is nice.[(triple10)] Harry is quiet.[(triple11)] Harry is red.[(triple12 OR ((triple9 ((triple10) -> rule8)) -> rule2))] @1: Erin is quiet.[(((triple1) -> rule4) OR ((triple4 triple3) -> rule1) OR ((triple4 ((triple1 triple5) -> rule2)) -> rule1) OR ((triple4 ((triple1 ((triple2) -> rule8)) -> rule2)) -> rule1))] Fiona is red.[(((triple6 triple8) -> rule2))] Harry is round.[(((triple10 triple11) -> rule7))] Harry is smart.[(((triple10) -> rule8))] @2: Fiona is nice.[(((triple7 ((triple6 triple8) -> rule2)) -> rule5))] Fiona is quiet.[(((triple7 ((triple6 triple8) -> rule2)) -> rule1))] @3: Fiona is cold.[(((((triple7 ((triple6 triple8) -> rule2)) -> rule1)) -> rule3))]
Erin is kind.
("Erin" "is" "kind" "+")
triple1
Erin is nice.
("Erin" "is" "nice" "+")
triple2
((triple4 triple3) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((triple4 ((triple1 triple5) -> (rule2 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
triple3
((triple1 triple5) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple1 ((triple2) -> (rule8 % int2))) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
triple4
((triple2 ((triple1) -> (rule4 % int2))) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
triple5
((triple2) -> (rule8 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((((triple4 triple3) -> (rule5 % int2))) -> (rule8 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
triple6
Fiona is round.
("Fiona" "is" "round" "+")
triple7
Fiona is smart.
("Fiona" "is" "smart" "+")
triple8
Harry is kind.
("Harry" "is" "kind" "+")
triple9
Harry is nice.
("Harry" "is" "nice" "+")
triple10
Harry is quiet.
("Harry" "is" "quiet" "+")
triple11
Harry is red.
("Harry" "is" "red" "+")
triple12
((triple9 ((triple10) -> (rule8 % int2))) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple1) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((triple4 triple3) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((triple4 ((triple1 triple5) -> (rule2 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((triple4 ((triple1 ((triple2) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
((triple6 triple8) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple10 triple11) -> (rule7 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
((triple10) -> (rule8 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple7 ((triple6 triple8) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple7 ((triple6 triple8) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple7 ((triple6 triple8) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3