Bob is rough. Dave is cold. Dave is kind. Dave is not nice. Dave is young. Erin is cold. Erin is kind. Erin is nice. Erin is quiet. Erin is rough. Erin is young. Fiona is kind. Fiona is nice. Fiona is quiet. Furry people are young. Cold, nice people are kind. Furry people are kind. If Fiona is young and Fiona is rough then Fiona is kind. All rough people are cold. All kind, furry people are cold. If someone is cold and kind then they are furry. If Bob is cold then Bob is quiet. If Bob is quiet then Bob is nice.
Bob is rough.
("Bob" "is" "rough" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is not nice.
("Dave" "is" "nice" "-")
Dave is young.
("Dave" "is" "young" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Furry people are young.
((("someone" "is" "furry" "+")) -> ("someone" "is" "young" "+"))
Cold, nice people are kind.
((("someone" "is" "cold" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
Furry people are kind.
((("someone" "is" "furry" "+")) -> ("someone" "is" "kind" "+"))
If Fiona is young and Fiona is rough then Fiona is kind.
((("Fiona" "is" "young" "+") ("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "kind" "+"))
All rough people are cold.
((("someone" "is" "rough" "+")) -> ("someone" "is" "cold" "+"))
All kind, furry people are cold.
((("someone" "is" "kind" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
If someone is cold and kind then they are furry.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "+"))
If Bob is cold then Bob is quiet.
((("Bob" "is" "cold" "+")) -> ("Bob" "is" "quiet" "+"))
If Bob is quiet then Bob is nice.
((("Bob" "is" "quiet" "+")) -> ("Bob" "is" "nice" "+"))
Fiona is nice.
True
1
proof
[(triple13)]
("Fiona" "is" "nice" "+")
triple13
Erin is not rough.
False
1
inv-proof
[(triple10)]
("Erin" "is" "rough" "-")
triple10
Dave is furry.
True
3
proof
[(((triple2 triple3) -> rule7))]
("Dave" "is" "furry" "+")
((triple2 triple3) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Bob is not cold.
False
2
inv-proof
[(((triple1) -> rule5))]
("Bob" "is" "cold" "-")
((triple1) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
True
3
proof
[(((((triple1) -> rule5)) -> rule8))]
("Bob" "is" "quiet" "+")
((((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is not quiet.
False
3
inv-proof
[(((((triple1) -> rule5)) -> rule8))]
("Bob" "is" "quiet" "-")
((((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is nice.
True
4
proof
[(((((((triple1) -> rule5)) -> rule8)) -> rule9))]
("Bob" "is" "nice" "+")
((((((triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule9 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is not nice.
False
4
inv-proof
[(((((((triple1) -> rule5)) -> rule8)) -> rule9))]
("Bob" "is" "nice" "-")
((((((triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule9 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is kind.
True
7
proof
[(((((triple1) -> rule5) ((((((triple1) -> rule5)) -> rule8)) -> rule9)) -> rule2))]
("Bob" "is" "kind" "+")
((((triple1) -> (rule5 % int4)) ((((((triple1) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule9 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
Bob is not kind.
False
7
inv-proof
[(((((triple1) -> rule5) ((((((triple1) -> rule5)) -> rule8)) -> rule9)) -> rule2))]
("Bob" "is" "kind" "-")
((((triple1) -> (rule5 % int4)) ((((((triple1) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule9 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
Bob is furry.
True
10
proof
[(((((triple1) -> rule5) ((((triple1) -> rule5) ((((((triple1) -> rule5)) -> rule8)) -> rule9)) -> rule2)) -> rule7))]
("Bob" "is" "furry" "+")
((((triple1) -> (rule5 % int5)) ((((triple1) -> (rule5 % int5)) ((((((triple1) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule9 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is cold.
("Bob" "is" "cold" "+")
int5
Bob is not furry.
False
10
inv-proof
[(((((triple1) -> rule5) ((((triple1) -> rule5) ((((((triple1) -> rule5)) -> rule8)) -> rule9)) -> rule2)) -> rule7))]
("Bob" "is" "furry" "-")
((((triple1) -> (rule5 % int5)) ((((triple1) -> (rule5 % int5)) ((((((triple1) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule9 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is cold.
("Bob" "is" "cold" "+")
int5
Fiona is not young.
Unknown
inv-rconc
[@3: Fiona is young.[CWA. Example of deepest failure = (rule1 <- rule7 <- rule5 <- FAIL)]]
("Fiona" "is" "young" "-")
Fiona is furry.
Unknown
rconc
[@2: Fiona is furry.[CWA. Example of deepest failure = (rule7 <- rule5 <- FAIL)]]
("Fiona" "is" "furry" "+")
Fiona is not cold.
Unknown
inv-rconc
[@3: Fiona is cold.[CWA. Example of deepest failure = (rule6 <- rule7 <- rule5 <- FAIL)]]
("Fiona" "is" "cold" "-")
Dave is quiet.
Unknown
random
[@0: Dave is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "quiet" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
@0: Bob is rough.[(triple1)] Dave is cold.[(triple2)] Dave is kind.[(triple3)] Dave is not nice.[(triple4)] Dave is young.[(triple5 OR ((((triple2 triple3) -> rule7)) -> rule1))] Erin is cold.[(triple6 OR ((triple10) -> rule5))] Erin is kind.[(triple7 OR ((triple6 triple8) -> rule2) OR ((((triple10) -> rule5) triple8) -> rule2))] Erin is nice.[(triple8)] Erin is quiet.[(triple9)] Erin is rough.[(triple10)] Erin is young.[(triple11 OR ((((triple6 triple7) -> rule7)) -> rule1) OR ((((triple6 ((triple6 triple8) -> rule2)) -> rule7)) -> rule1) OR ((((((triple10) -> rule5) triple7) -> rule7)) -> rule1) OR ((((((triple10) -> rule5) ((triple6 triple8) -> rule2)) -> rule7)) -> rule1) OR ((((triple6 ((((triple10) -> rule5) triple8) -> rule2)) -> rule7)) -> rule1) OR ((((((triple10) -> rule5) ((((triple10) -> rule5) triple8) -> rule2)) -> rule7)) -> rule1))] Fiona is kind.[(triple12)] Fiona is nice.[(triple13)] Fiona is quiet.[(triple14)] @1: Bob is cold.[(((triple1) -> rule5))] Dave is furry.[(((triple2 triple3) -> rule7))] Erin is furry.[(((triple6 triple7) -> rule7) OR ((triple6 ((triple6 triple8) -> rule2)) -> rule7) OR ((((triple10) -> rule5) triple7) -> rule7) OR ((((triple10) -> rule5) ((triple6 triple8) -> rule2)) -> rule7) OR ((triple6 ((((triple10) -> rule5) triple8) -> rule2)) -> rule7) OR ((((triple10) -> rule5) ((((triple10) -> rule5) triple8) -> rule2)) -> rule7))] @2: Bob is quiet.[(((((triple1) -> rule5)) -> rule8))] @3: Bob is nice.[(((((((triple1) -> rule5)) -> rule8)) -> rule9))] @4: Bob is kind.[(((((triple1) -> rule5) ((((((triple1) -> rule5)) -> rule8)) -> rule9)) -> rule2))] @5: Bob is furry.[(((((triple1) -> rule5) ((((triple1) -> rule5) ((((((triple1) -> rule5)) -> rule8)) -> rule9)) -> rule2)) -> rule7))] @6: Bob is young.[(((((((triple1) -> rule5) ((((triple1) -> rule5) ((((((triple1) -> rule5)) -> rule8)) -> rule9)) -> rule2)) -> rule7)) -> rule1))]
Bob is rough.
("Bob" "is" "rough" "+")
triple1
Dave is cold.
("Dave" "is" "cold" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Dave is not nice.
("Dave" "is" "nice" "-")
triple4
Dave is young.
("Dave" "is" "young" "+")
triple5
((((triple2 triple3) -> (rule7 % int2))) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
triple6
((triple10) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
triple7
((triple6 triple8) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((((triple10) -> (rule5 % int2)) triple8) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
triple8
Erin is quiet.
("Erin" "is" "quiet" "+")
triple9
Erin is rough.
("Erin" "is" "rough" "+")
triple10
Erin is young.
("Erin" "is" "young" "+")
triple11
((((triple6 triple7) -> (rule7 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple6 ((triple6 triple8) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((((triple10) -> (rule5 % int3)) triple7) -> (rule7 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((((triple10) -> (rule5 % int4)) ((triple6 triple8) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
((((triple6 ((((triple10) -> (rule5 % int4)) triple8) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
((((((triple10) -> (rule5 % int4)) ((((triple10) -> (rule5 % int4)) triple8) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Fiona is kind.
("Fiona" "is" "kind" "+")
triple12
Fiona is nice.
("Fiona" "is" "nice" "+")
triple13
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple14
Bob is cold.
("Bob" "is" "cold" "+")
((triple1) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple2 triple3) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((triple6 triple7) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple6 ((triple6 triple8) -> (rule2 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple10) -> (rule5 % int2)) triple7) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((triple10) -> (rule5 % int3)) ((triple6 triple8) -> (rule2 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((triple6 ((((triple10) -> (rule5 % int3)) triple8) -> (rule2 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
((((triple10) -> (rule5 % int3)) ((((triple10) -> (rule5 % int3)) triple8) -> (rule2 % int2))) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
((((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
((((((triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule9 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
((((triple1) -> (rule5 % int4)) ((((((triple1) -> (rule5 % int4))) -> (rule8 % int3))) -> (rule9 % int2))) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
Bob is furry.
("Bob" "is" "furry" "+")
((((triple1) -> (rule5 % int5)) ((((triple1) -> (rule5 % int5)) ((((((triple1) -> (rule5 % int5))) -> (rule8 % int4))) -> (rule9 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is cold.
("Bob" "is" "cold" "+")
int5
Bob is young.
("Bob" "is" "young" "+")
((((((triple1) -> (rule5 % int6)) ((((triple1) -> (rule5 % int6)) ((((((triple1) -> (rule5 % int6))) -> (rule8 % int5))) -> (rule9 % int4))) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is quiet.
("Bob" "is" "quiet" "+")
int5
Bob is cold.
("Bob" "is" "cold" "+")
int6