Bob is blue. Bob is cold. Bob is quiet. Bob is round. Bob is white. Bob is young. Fiona is quiet. Gary is round. Harry is furry. Harry is quiet. Harry is white. All round, furry things are young. If Bob is young and Bob is cold then Bob is white. All young things are round. Cold things are white. If something is white then it is young. If something is blue then it is cold. If something is quiet then it is blue.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Gary is round.
("Gary" "is" "round" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is white.
("Harry" "is" "white" "+")
All round, furry things are young.
((("something" "is" "round" "+") ("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
If Bob is young and Bob is cold then Bob is white.
((("Bob" "is" "young" "+") ("Bob" "is" "cold" "+")) -> ("Bob" "is" "white" "+"))
All young things are round.
((("something" "is" "young" "+")) -> ("something" "is" "round" "+"))
Cold things are white.
((("something" "is" "cold" "+")) -> ("something" "is" "white" "+"))
If something is white then it is young.
((("something" "is" "white" "+")) -> ("something" "is" "young" "+"))
If something is blue then it is cold.
((("something" "is" "blue" "+")) -> ("something" "is" "cold" "+"))
If something is quiet then it is blue.
((("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
Bob is cold.
True
1
proof
[(triple2 OR ((triple1) -> rule6) OR ((((triple3) -> rule7)) -> rule6))]
("Bob" "is" "cold" "+")
triple2
((triple1) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple3) -> (rule7 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Harry is not furry.
False
1
inv-proof
[(triple9)]
("Harry" "is" "furry" "-")
triple9
Harry is young.
True
2
proof
[(((triple11) -> rule5) OR ((((((((triple10) -> rule7)) -> rule6)) -> rule4)) -> rule5))]
("Harry" "is" "young" "+")
((triple11) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((((((((triple10) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Fiona is not blue.
False
2
inv-proof
[(((triple7) -> rule7))]
("Fiona" "is" "blue" "-")
((triple7) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
True
3
proof
[(((((triple7) -> rule7)) -> rule6))]
("Fiona" "is" "cold" "+")
((((triple7) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not cold.
False
3
inv-proof
[(((((triple7) -> rule7)) -> rule6))]
("Fiona" "is" "cold" "-")
((((triple7) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is white.
True
4
proof
[(((((((triple7) -> rule7)) -> rule6)) -> rule4))]
("Fiona" "is" "white" "+")
((((((triple7) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is not white.
False
4
inv-proof
[(((((((triple7) -> rule7)) -> rule6)) -> rule4))]
("Fiona" "is" "white" "-")
((((((triple7) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is young.
True
5
proof
[(((((((((triple7) -> rule7)) -> rule6)) -> rule4)) -> rule5))]
("Fiona" "is" "young" "+")
((((((((triple7) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is not young.
False
5
inv-proof
[(((((((((triple7) -> rule7)) -> rule6)) -> rule4)) -> rule5))]
("Fiona" "is" "young" "-")
((((((((triple7) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is round.
True
6
proof
[(((((((((((triple7) -> rule7)) -> rule6)) -> rule4)) -> rule5)) -> rule3))]
("Fiona" "is" "round" "+")
((((((((((triple7) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5
Fiona is not round.
False
6
inv-proof
[(((((((((((triple7) -> rule7)) -> rule6)) -> rule4)) -> rule5)) -> rule3))]
("Fiona" "is" "round" "-")
((((((((((triple7) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5
Gary is not young.
Unknown
inv-rconc
[@4: Gary is young.[CWA. Example of deepest failure = (rule5 <- rule4 <- rule6 <- rule7 <- FAIL)]]
("Gary" "is" "young" "-")
Gary is cold.
Unknown
rconc
[@2: Gary is cold.[CWA. Example of deepest failure = (rule6 <- rule7 <- FAIL)]]
("Gary" "is" "cold" "+")
Gary is not white.
Unknown
inv-rconc
[@3: Gary is white.[CWA. Example of deepest failure = (rule4 <- rule6 <- rule7 <- FAIL)]]
("Gary" "is" "white" "-")
Gary is blue.
Unknown
rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Gary" "is" "blue" "+")
Bob is not furry.
Unknown
inv-random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "-")
Gary is furry.
Unknown
random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "+")
Gary is not quiet.
Unknown
inv-random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "-")
Fiona is furry.
Unknown
random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "+")
@0: Bob is blue.[(triple1 OR ((triple3) -> rule7))] Bob is cold.[(triple2 OR ((triple1) -> rule6) OR ((((triple3) -> rule7)) -> rule6))] Bob is quiet.[(triple3)] Bob is round.[(triple4 OR ((triple6) -> rule3) OR ((((triple5) -> rule5)) -> rule3) OR ((((((triple2) -> rule4)) -> rule5)) -> rule3) OR ((((((((triple1) -> rule6)) -> rule4)) -> rule5)) -> rule3) OR ((((((((((triple3) -> rule7)) -> rule6)) -> rule4)) -> rule5)) -> rule3))] Bob is white.[(triple5 OR ((triple2) -> rule4) OR ((triple6 triple2) -> rule2) OR ((((triple1) -> rule6)) -> rule4) OR ((triple6 ((triple1) -> rule6)) -> rule2) OR ((((((triple3) -> rule7)) -> rule6)) -> rule4) OR ((triple6 ((((triple3) -> rule7)) -> rule6)) -> rule2))] Bob is young.[(triple6 OR ((triple5) -> rule5) OR ((((triple2) -> rule4)) -> rule5) OR ((((((triple1) -> rule6)) -> rule4)) -> rule5) OR ((((((((triple3) -> rule7)) -> rule6)) -> rule4)) -> rule5))] Fiona is quiet.[(triple7)] Gary is round.[(triple8)] Harry is furry.[(triple9)] Harry is quiet.[(triple10)] Harry is white.[(triple11 OR ((((((triple10) -> rule7)) -> rule6)) -> rule4))] @1: Fiona is blue.[(((triple7) -> rule7))] Harry is blue.[(((triple10) -> rule7))] Harry is young.[(((triple11) -> rule5) OR ((((((((triple10) -> rule7)) -> rule6)) -> rule4)) -> rule5))] @2: Fiona is cold.[(((((triple7) -> rule7)) -> rule6))] Harry is cold.[(((((triple10) -> rule7)) -> rule6))] Harry is round.[(((((triple11) -> rule5)) -> rule3) OR ((((((((((triple10) -> rule7)) -> rule6)) -> rule4)) -> rule5)) -> rule3))] @3: Fiona is white.[(((((((triple7) -> rule7)) -> rule6)) -> rule4))] @4: Fiona is young.[(((((((((triple7) -> rule7)) -> rule6)) -> rule4)) -> rule5))] @5: Fiona is round.[(((((((((((triple7) -> rule7)) -> rule6)) -> rule4)) -> rule5)) -> rule3))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
((triple3) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
((triple1) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple3) -> (rule7 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
Bob is round.
("Bob" "is" "round" "+")
triple4
((triple6) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((((triple2) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
((((((((triple1) -> (rule6 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
((((((((((triple3) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
Bob is blue.
("Bob" "is" "blue" "+")
int5
Bob is white.
("Bob" "is" "white" "+")
triple5
((triple2) -> (rule4 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((triple6 triple2) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((((triple1) -> (rule6 % int2))) -> (rule4 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((triple6 ((triple1) -> (rule6 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((((triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((triple6 ((((triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
triple6
((triple5) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((triple2) -> (rule4 % int2))) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((((((triple1) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
((((((((triple3) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
int4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple7
Gary is round.
("Gary" "is" "round" "+")
triple8
Harry is furry.
("Harry" "is" "furry" "+")
triple9
Harry is quiet.
("Harry" "is" "quiet" "+")
triple10
Harry is white.
("Harry" "is" "white" "+")
triple11
((((((triple10) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple7) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple10) -> (rule7 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
((triple11) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((((((((triple10) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple7) -> (rule7 % int2))) -> (rule6 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
((((triple10) -> (rule7 % int2))) -> (rule6 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
((((triple11) -> (rule5 % int2))) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((((((((triple10) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is blue.
("Harry" "is" "blue" "+")
int5
Fiona is white.
("Fiona" "is" "white" "+")
((((((triple7) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
((((((((triple7) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is round.
("Fiona" "is" "round" "+")
((((((((((triple7) -> (rule7 % int5))) -> (rule6 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5