A model of syllogistic reasoning as communication.
Note: The model presented below is for exploration and running purposes. A less opaque version can be found here.
We can derive an equivalence-class representation of the state space, offline, which is projection of the distribution of situations onto the sentences of interest. The equivalence-class of situations does not grow with the number of objects and is much faster to run. However, the number-of-objects and base-rate parameters cannot be changed inside the model. This version of the model uses best-fit parameters n_objects = 5, br = 0.25 used in Ref:tessler2014syllogisms.
; the following two functions (situation-prior) & (sentence-eval) form the equivalence class representation
; each situation ('fN) has a "unique" combination of objects and properties
; "unique" is defined as producing a distinct set of true-sentences (from the syllogistic space)
(define (situation-prior)
(multinomial
(list 'f0 'f1 'f2 'f3 'f4 'f5 'f6 'f7 'f8 'f9 'f10 'f11 'f12 'f13 'f14 'f15 'f16 'f17 'f18 'f19 'f20 'f21 'f22 'f23 'f24 'f25 'f26 'f27 'f28 'f29 'f30 'f31 'f32 'f33 'f34 'f35 'f36 'f37 'f38 'f39 'f40 'f41 'f42 'f43 'f44 'f45 'f46 'f47 'f48 'f49 'f50 'f51 'f52 'f53 'f54 'f55 'f56 'f57 'f58 'f59 'f60 'f61 'f62 'f63 'f64 'f65 'f66 'f67 'f68)
'(0.021515 0.079048 0.022494 0.085699 0.009494 0.022156 0.003530 0.001631 0.012115 0.021864 0.001549 0.008247 0.022016 0.011847 0.000897 0.001806 0.022330 0.010542 0.022878 0.006046 0.001934 0.001945 0.020443 0.021620 0.004764 0.023740 0.001677 0.001165 0.010542 0.004240 0.002085 0.002062 0.021410 0.006337 0.021806 0.010833 0.010717 0.001573 0.001573 0.020595 0.021760 0.006011 0.010158 0.001689 0.011730 0.022528 0.001887 0.010402 0.012115 0.083591 0.000944 0.008073 0.001712 0.021876 0.001852 0.002073 0.010414 0.020804 0.086747 0.010565 0.001619 0.004275 0.012091 0.010460 0.001910 0.011171 0.001479 0.022633 0.008667 )))
; sentence-eval takes in a sentence (premise) and a situation (situation) and returns true/false
(define sentence-eval
(lambda (sentence situation)
(case sentence
(('all.C-B) (or (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f12) (equal? situation 'f15) (equal? situation 'f32) (equal? situation 'f33) (equal? situation 'f36) (equal? situation 'f37) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f67) ))
(('no.C-B) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f3) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f28) (equal? situation 'f34) (equal? situation 'f40) (equal? situation 'f42) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f62) ))
(('some.C-B) (or (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f12) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f16) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f29) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f32) (equal? situation 'f33) (equal? situation 'f35) (equal? situation 'f36) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f39) (equal? situation 'f41) (equal? situation 'f43) (equal? situation 'f46) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f67) (equal? situation 'f68) ))
(('not-all.C-B) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f3) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f11) (equal? situation 'f13) (equal? situation 'f14) (equal? situation 'f16) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f28) (equal? situation 'f29) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f38) (equal? situation 'f39) (equal? situation 'f40) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f52) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f64) (equal? situation 'f68) ))
(('all.C-A) (or (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f14) (equal? situation 'f20) (equal? situation 'f22) (equal? situation 'f23) (equal? situation 'f26) (equal? situation 'f30) (equal? situation 'f33) (equal? situation 'f34) (equal? situation 'f41) (equal? situation 'f42) (equal? situation 'f44) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f63) ))
(('no.C-A) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f4) (equal? situation 'f8) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f25) (equal? situation 'f32) (equal? situation 'f40) (equal? situation 'f49) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f65) (equal? situation 'f67) ))
(('some.C-A) (or (equal? situation 'f5) (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f9) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f13) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f22) (equal? situation 'f23) (equal? situation 'f24) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f28) (equal? situation 'f29) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f41) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f46) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f63) (equal? situation 'f64) (equal? situation 'f66) (equal? situation 'f68) ))
(('not-all.C-A) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f4) (equal? situation 'f5) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f9) (equal? situation 'f11) (equal? situation 'f13) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f19) (equal? situation 'f21) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f27) (equal? situation 'f28) (equal? situation 'f29) (equal? situation 'f31) (equal? situation 'f32) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f40) (equal? situation 'f43) (equal? situation 'f45) (equal? situation 'f46) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f49) (equal? situation 'f50) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f67) (equal? situation 'f68) ))
(('all.B-C) (or (equal? situation 'f6) (equal? situation 'f11) (equal? situation 'f15) (equal? situation 'f18) (equal? situation 'f19) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f32) (equal? situation 'f33) (equal? situation 'f36) (equal? situation 'f38) (equal? situation 'f39) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f64) (equal? situation 'f66) ))
(('no.B-C) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f3) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f28) (equal? situation 'f34) (equal? situation 'f40) (equal? situation 'f42) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f62) ))
(('some.B-C) (or (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f12) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f16) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f29) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f32) (equal? situation 'f33) (equal? situation 'f35) (equal? situation 'f36) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f39) (equal? situation 'f41) (equal? situation 'f43) (equal? situation 'f46) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f67) (equal? situation 'f68) ))
(('not-all.B-C) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f3) (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f10) (equal? situation 'f12) (equal? situation 'f13) (equal? situation 'f14) (equal? situation 'f16) (equal? situation 'f17) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f28) (equal? situation 'f29) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f40) (equal? situation 'f41) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f65) (equal? situation 'f67) (equal? situation 'f68) ))
(('all.B-A) (or (equal? situation 'f0) (equal? situation 'f2) (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f19) (equal? situation 'f21) (equal? situation 'f26) (equal? situation 'f28) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f40) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f54) (equal? situation 'f59) ))
(('no.B-A) (or (equal? situation 'f1) (equal? situation 'f8) (equal? situation 'f13) (equal? situation 'f18) (equal? situation 'f22) (equal? situation 'f29) (equal? situation 'f32) (equal? situation 'f34) (equal? situation 'f45) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f56) (equal? situation 'f58) (equal? situation 'f67) ))
(('some.B-A) (or (equal? situation 'f0) (equal? situation 'f2) (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f28) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f40) (equal? situation 'f41) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f53) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f57) (equal? situation 'f59) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f68) ))
(('not-all.B-A) (or (equal? situation 'f1) (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f13) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f20) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f27) (equal? situation 'f29) (equal? situation 'f32) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f41) (equal? situation 'f42) (equal? situation 'f45) (equal? situation 'f46) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f53) (equal? situation 'f55) (equal? situation 'f56) (equal? situation 'f57) (equal? situation 'f58) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f67) (equal? situation 'f68) ))
(('all.A-C) (or (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f9) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f22) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f31) (equal? situation 'f41) (equal? situation 'f45) (equal? situation 'f46) (equal? situation 'f48) (equal? situation 'f56) (equal? situation 'f63) (equal? situation 'f64) (equal? situation 'f66) (equal? situation 'f68) ))
(('no.A-C) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f4) (equal? situation 'f8) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f25) (equal? situation 'f32) (equal? situation 'f40) (equal? situation 'f49) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f65) (equal? situation 'f67) ))
(('some.A-C) (or (equal? situation 'f5) (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f9) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f13) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f22) (equal? situation 'f23) (equal? situation 'f24) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f28) (equal? situation 'f29) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f41) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f46) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f63) (equal? situation 'f64) (equal? situation 'f66) (equal? situation 'f68) ))
(('not-all.A-C) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f4) (equal? situation 'f5) (equal? situation 'f8) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f13) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f21) (equal? situation 'f23) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f28) (equal? situation 'f29) (equal? situation 'f30) (equal? situation 'f32) (equal? situation 'f33) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f40) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f47) (equal? situation 'f49) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f65) (equal? situation 'f67) ))
(('all.A-B) (or (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f21) (equal? situation 'f25) (equal? situation 'f40) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f55) (equal? situation 'f57) (equal? situation 'f59) (equal? situation 'f60) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f68) ))
(('no.A-B) (or (equal? situation 'f1) (equal? situation 'f8) (equal? situation 'f13) (equal? situation 'f18) (equal? situation 'f22) (equal? situation 'f29) (equal? situation 'f32) (equal? situation 'f34) (equal? situation 'f45) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f56) (equal? situation 'f58) (equal? situation 'f67) ))
(('some.A-B) (or (equal? situation 'f0) (equal? situation 'f2) (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f28) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f40) (equal? situation 'f41) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f53) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f57) (equal? situation 'f59) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f68) ))
(('not-all.A-B) (or (equal? situation 'f0) (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f11) (equal? situation 'f13) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f18) (equal? situation 'f20) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f28) (equal? situation 'f29) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f32) (equal? situation 'f33) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f53) (equal? situation 'f54) (equal? situation 'f56) (equal? situation 'f58) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f67) ))
(((list 'all.B-A 'all.C-B)) (or (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f33) (equal? situation 'f54) ))
(((list 'all.B-A 'no.C-B)) (or (equal? situation 'f2) (equal? situation 'f28) (equal? situation 'f40) (equal? situation 'f44) ))
(((list 'all.B-A 'some.C-B)) (or (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f19) (equal? situation 'f21) (equal? situation 'f26) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f43) (equal? situation 'f54) ))
(((list 'all.B-A 'not-all.C-B)) (or (equal? situation 'f2) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f19) (equal? situation 'f21) (equal? situation 'f26) (equal? situation 'f28) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f40) (equal? situation 'f43) (equal? situation 'f44) ))
(((list 'no.B-A 'all.C-B)) (or (equal? situation 'f32) (equal? situation 'f67) ))
(((list 'no.B-A 'no.C-B)) (or (equal? situation 'f1) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f34) (equal? situation 'f45) ))
(((list 'no.B-A 'some.C-B)) (or (equal? situation 'f8) (equal? situation 'f18) (equal? situation 'f29) (equal? situation 'f32) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f56) (equal? situation 'f67) ))
(((list 'no.B-A 'not-all.C-B)) (or (equal? situation 'f1) (equal? situation 'f8) (equal? situation 'f13) (equal? situation 'f18) (equal? situation 'f22) (equal? situation 'f29) (equal? situation 'f34) (equal? situation 'f45) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f56) ))
(((list 'some.B-A 'all.C-B)) (or (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f15) (equal? situation 'f33) (equal? situation 'f37) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f65) (equal? situation 'f66) ))
(((list 'some.B-A 'no.C-B)) (or (equal? situation 'f2) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f28) (equal? situation 'f40) (equal? situation 'f42) (equal? situation 'f44) (equal? situation 'f62) ))
(((list 'some.B-A 'some.C-B)) (or (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f41) (equal? situation 'f43) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f68) ))
(((list 'some.B-A 'not-all.C-B)) (or (equal? situation 'f2) (equal? situation 'f7) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f28) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f35) (equal? situation 'f38) (equal? situation 'f40) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f52) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f64) (equal? situation 'f68) ))
(((list 'not-all.B-A 'all.C-B)) (or (equal? situation 'f4) (equal? situation 'f15) (equal? situation 'f32) (equal? situation 'f37) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f55) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f67) ))
(((list 'not-all.B-A 'no.C-B)) (or (equal? situation 'f1) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f34) (equal? situation 'f42) (equal? situation 'f45) (equal? situation 'f62) ))
(((list 'not-all.B-A 'some.C-B)) (or (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f20) (equal? situation 'f27) (equal? situation 'f29) (equal? situation 'f32) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f55) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f67) (equal? situation 'f68) ))
(((list 'not-all.B-A 'not-all.C-B)) (or (equal? situation 'f1) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f13) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f20) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f27) (equal? situation 'f29) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f38) (equal? situation 'f42) (equal? situation 'f45) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f52) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f64) (equal? situation 'f68) ))
(((list 'all.A-B 'all.C-B)) (or (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f55) (equal? situation 'f65) (equal? situation 'f66) ))
(((list 'all.A-B 'no.C-B)) (or (equal? situation 'f25) (equal? situation 'f40) ))
(((list 'all.A-B 'some.C-B)) (or (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f21) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f55) (equal? situation 'f60) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f68) ))
(((list 'all.A-B 'not-all.C-B)) (or (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f21) (equal? situation 'f25) (equal? situation 'f40) (equal? situation 'f60) (equal? situation 'f64) (equal? situation 'f68) ))
(((list 'no.A-B 'all.C-B)) (or (equal? situation 'f32) (equal? situation 'f67) ))
(((list 'no.A-B 'no.C-B)) (or (equal? situation 'f1) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f34) (equal? situation 'f45) ))
(((list 'no.A-B 'some.C-B)) (or (equal? situation 'f8) (equal? situation 'f18) (equal? situation 'f29) (equal? situation 'f32) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f56) (equal? situation 'f67) ))
(((list 'no.A-B 'not-all.C-B)) (or (equal? situation 'f1) (equal? situation 'f8) (equal? situation 'f13) (equal? situation 'f18) (equal? situation 'f22) (equal? situation 'f29) (equal? situation 'f34) (equal? situation 'f45) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f56) ))
(((list 'some.A-B 'all.C-B)) (or (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f15) (equal? situation 'f33) (equal? situation 'f37) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f65) (equal? situation 'f66) ))
(((list 'some.A-B 'no.C-B)) (or (equal? situation 'f2) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f28) (equal? situation 'f40) (equal? situation 'f42) (equal? situation 'f44) (equal? situation 'f62) ))
(((list 'some.A-B 'some.C-B)) (or (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f41) (equal? situation 'f43) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f68) ))
(((list 'some.A-B 'not-all.C-B)) (or (equal? situation 'f2) (equal? situation 'f7) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f28) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f35) (equal? situation 'f38) (equal? situation 'f40) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f52) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f64) (equal? situation 'f68) ))
(((list 'not-all.A-B 'all.C-B)) (or (equal? situation 'f4) (equal? situation 'f15) (equal? situation 'f32) (equal? situation 'f33) (equal? situation 'f37) (equal? situation 'f51) (equal? situation 'f54) (equal? situation 'f67) ))
(((list 'not-all.A-B 'no.C-B)) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f28) (equal? situation 'f34) (equal? situation 'f42) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f62) ))
(((list 'not-all.A-B 'some.C-B)) (or (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f18) (equal? situation 'f20) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f29) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f32) (equal? situation 'f33) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f43) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f56) (equal? situation 'f61) (equal? situation 'f67) ))
(((list 'not-all.A-B 'not-all.C-B)) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f11) (equal? situation 'f13) (equal? situation 'f14) (equal? situation 'f18) (equal? situation 'f20) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f28) (equal? situation 'f29) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f38) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f52) (equal? situation 'f56) (equal? situation 'f61) (equal? situation 'f62) ))
(((list 'all.B-A 'all.B-C)) (or (equal? situation 'f6) (equal? situation 'f11) (equal? situation 'f19) (equal? situation 'f26) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) ))
(((list 'all.B-A 'no.B-C)) (or (equal? situation 'f2) (equal? situation 'f28) (equal? situation 'f40) (equal? situation 'f44) ))
(((list 'all.B-A 'some.B-C)) (or (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f19) (equal? situation 'f21) (equal? situation 'f26) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f43) (equal? situation 'f54) ))
(((list 'all.B-A 'not-all.B-C)) (or (equal? situation 'f2) (equal? situation 'f10) (equal? situation 'f14) (equal? situation 'f21) (equal? situation 'f28) (equal? situation 'f40) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f54) ))
(((list 'no.B-A 'all.B-C)) (or (equal? situation 'f18) (equal? situation 'f32) (equal? situation 'f47) (equal? situation 'f48) ))
(((list 'no.B-A 'no.B-C)) (or (equal? situation 'f1) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f34) (equal? situation 'f45) ))
(((list 'no.B-A 'some.B-C)) (or (equal? situation 'f8) (equal? situation 'f18) (equal? situation 'f29) (equal? situation 'f32) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f56) (equal? situation 'f67) ))
(((list 'no.B-A 'not-all.B-C)) (or (equal? situation 'f1) (equal? situation 'f8) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f29) (equal? situation 'f34) (equal? situation 'f45) (equal? situation 'f56) (equal? situation 'f67) ))
(((list 'some.B-A 'all.B-C)) (or (equal? situation 'f6) (equal? situation 'f11) (equal? situation 'f15) (equal? situation 'f19) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f38) (equal? situation 'f64) (equal? situation 'f66) ))
(((list 'some.B-A 'no.B-C)) (or (equal? situation 'f2) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f28) (equal? situation 'f40) (equal? situation 'f42) (equal? situation 'f44) (equal? situation 'f62) ))
(((list 'some.B-A 'some.B-C)) (or (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f41) (equal? situation 'f43) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f68) ))
(((list 'some.B-A 'not-all.B-C)) (or (equal? situation 'f2) (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f10) (equal? situation 'f14) (equal? situation 'f17) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f28) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f40) (equal? situation 'f41) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f65) (equal? situation 'f68) ))
(((list 'not-all.B-A 'all.B-C)) (or (equal? situation 'f15) (equal? situation 'f18) (equal? situation 'f27) (equal? situation 'f32) (equal? situation 'f38) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f64) (equal? situation 'f66) ))
(((list 'not-all.B-A 'no.B-C)) (or (equal? situation 'f1) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f34) (equal? situation 'f42) (equal? situation 'f45) (equal? situation 'f62) ))
(((list 'not-all.B-A 'some.B-C)) (or (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f18) (equal? situation 'f20) (equal? situation 'f27) (equal? situation 'f29) (equal? situation 'f32) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f55) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f67) (equal? situation 'f68) ))
(((list 'not-all.B-A 'not-all.B-C)) (or (equal? situation 'f1) (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f13) (equal? situation 'f17) (equal? situation 'f20) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f29) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f41) (equal? situation 'f42) (equal? situation 'f45) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f55) (equal? situation 'f56) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f65) (equal? situation 'f67) (equal? situation 'f68) ))
(((list 'all.A-B 'all.B-C)) (or (equal? situation 'f6) (equal? situation 'f19) (equal? situation 'f64) (equal? situation 'f66) ))
(((list 'all.A-B 'no.B-C)) (or (equal? situation 'f25) (equal? situation 'f40) ))
(((list 'all.A-B 'some.B-C)) (or (equal? situation 'f6) (equal? situation 'f10) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f21) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f55) (equal? situation 'f60) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f68) ))
(((list 'all.A-B 'not-all.B-C)) (or (equal? situation 'f10) (equal? situation 'f17) (equal? situation 'f21) (equal? situation 'f25) (equal? situation 'f40) (equal? situation 'f41) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f55) (equal? situation 'f60) (equal? situation 'f65) (equal? situation 'f68) ))
(((list 'no.A-B 'all.B-C)) (or (equal? situation 'f18) (equal? situation 'f32) (equal? situation 'f47) (equal? situation 'f48) ))
(((list 'no.A-B 'no.B-C)) (or (equal? situation 'f1) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f34) (equal? situation 'f45) ))
(((list 'no.A-B 'some.B-C)) (or (equal? situation 'f8) (equal? situation 'f18) (equal? situation 'f29) (equal? situation 'f32) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f56) (equal? situation 'f67) ))
(((list 'no.A-B 'not-all.B-C)) (or (equal? situation 'f1) (equal? situation 'f8) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f29) (equal? situation 'f34) (equal? situation 'f45) (equal? situation 'f56) (equal? situation 'f67) ))
(((list 'some.A-B 'all.B-C)) (or (equal? situation 'f6) (equal? situation 'f11) (equal? situation 'f15) (equal? situation 'f19) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f38) (equal? situation 'f64) (equal? situation 'f66) ))
(((list 'some.A-B 'no.B-C)) (or (equal? situation 'f2) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f28) (equal? situation 'f40) (equal? situation 'f42) (equal? situation 'f44) (equal? situation 'f62) ))
(((list 'some.A-B 'some.B-C)) (or (equal? situation 'f4) (equal? situation 'f6) (equal? situation 'f7) (equal? situation 'f10) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f17) (equal? situation 'f19) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f33) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f41) (equal? situation 'f43) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f64) (equal? situation 'f65) (equal? situation 'f66) (equal? situation 'f68) ))
(((list 'some.A-B 'not-all.B-C)) (or (equal? situation 'f2) (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f10) (equal? situation 'f14) (equal? situation 'f17) (equal? situation 'f20) (equal? situation 'f21) (equal? situation 'f24) (equal? situation 'f25) (equal? situation 'f28) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f40) (equal? situation 'f41) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f46) (equal? situation 'f50) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f55) (equal? situation 'f60) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f65) (equal? situation 'f68) ))
(((list 'not-all.A-B 'all.B-C)) (or (equal? situation 'f11) (equal? situation 'f15) (equal? situation 'f18) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f32) (equal? situation 'f33) (equal? situation 'f38) (equal? situation 'f47) (equal? situation 'f48) ))
(((list 'not-all.A-B 'no.B-C)) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f13) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f28) (equal? situation 'f34) (equal? situation 'f42) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f62) ))
(((list 'not-all.A-B 'some.B-C)) (or (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f11) (equal? situation 'f14) (equal? situation 'f15) (equal? situation 'f18) (equal? situation 'f20) (equal? situation 'f26) (equal? situation 'f27) (equal? situation 'f29) (equal? situation 'f30) (equal? situation 'f31) (equal? situation 'f32) (equal? situation 'f33) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f38) (equal? situation 'f43) (equal? situation 'f47) (equal? situation 'f48) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f56) (equal? situation 'f61) (equal? situation 'f67) ))
(((list 'not-all.A-B 'not-all.B-C)) (or (equal? situation 'f1) (equal? situation 'f2) (equal? situation 'f4) (equal? situation 'f7) (equal? situation 'f8) (equal? situation 'f13) (equal? situation 'f14) (equal? situation 'f20) (equal? situation 'f22) (equal? situation 'f24) (equal? situation 'f28) (equal? situation 'f29) (equal? situation 'f34) (equal? situation 'f35) (equal? situation 'f37) (equal? situation 'f42) (equal? situation 'f43) (equal? situation 'f44) (equal? situation 'f45) (equal? situation 'f51) (equal? situation 'f52) (equal? situation 'f54) (equal? situation 'f56) (equal? situation 'f61) (equal? situation 'f62) (equal? situation 'f67) )))))
; parameter 3: "optimality" -- the degree to which the experimenter's argument is optimal for the conclusion
(define alpha 4.75)
; some experiments use conclusions restricted to the classical term ordering (C-A)
; others allow conclusions in either A-C or C-A direction
; explore differences in reasoning by changing this value to 8
(define number-of-conclusions 4)
; the reasoner has uninformative prior beliefs about what the conclusion should be
(define conclusion-prior
(lambda (number-of-conclusions)
(case number-of-conclusions
((4) (uniform-draw (list 'all.C-A 'some.C-A 'no.C-A 'not-all.C-A)))
((8) (uniform-draw (list 'all.C-A 'some.C-A 'no.C-A 'not-all.C-A 'all.A-C 'some.A-C 'no.A-C 'not-all.A-C)))
)))
; the reasoner has uninformative prior beliefs about what arguments the experimenter could give
; the alternative premises considered are restricted to the same term orderings (i.e. "figure")
(define premise-prior
(lambda (figure)
(case figure
((1) (uniform-draw (list (list 'all.B-A 'all.C-B) (list 'all.B-A 'no.C-B) (list 'all.B-A 'some.C-B) (list 'all.B-A 'not-all.C-B) (list 'no.B-A 'all.C-B) (list 'no.B-A 'no.C-B) (list 'no.B-A 'some.C-B) (list 'no.B-A 'not-all.C-B) (list 'some.B-A 'all.C-B) (list 'some.B-A 'no.C-B) (list 'some.B-A 'some.C-B) (list 'some.B-A 'not-all.C-B) (list 'not-all.B-A 'all.C-B) (list 'not-all.B-A 'no.C-B) (list 'not-all.B-A 'some.C-B) (list 'not-all.B-A 'not-all.C-B) )))
((2) (uniform-draw (list (list 'all.A-B 'all.C-B) (list 'all.A-B 'no.C-B) (list 'all.A-B 'some.C-B) (list 'all.A-B 'not-all.C-B) (list 'no.A-B 'all.C-B) (list 'no.A-B 'no.C-B) (list 'no.A-B 'some.C-B) (list 'no.A-B 'not-all.C-B) (list 'some.A-B 'all.C-B) (list 'some.A-B 'no.C-B) (list 'some.A-B 'some.C-B) (list 'some.A-B 'not-all.C-B) (list 'not-all.A-B 'all.C-B) (list 'not-all.A-B 'no.C-B) (list 'not-all.A-B 'some.C-B) (list 'not-all.A-B 'not-all.C-B) )))
((3) (uniform-draw (list (list 'all.B-A 'all.B-C) (list 'all.B-A 'no.B-C) (list 'all.B-A 'some.B-C) (list 'all.B-A 'not-all.B-C) (list 'no.B-A 'all.B-C) (list 'no.B-A 'no.B-C) (list 'no.B-A 'some.B-C) (list 'no.B-A 'not-all.B-C) (list 'some.B-A 'all.B-C) (list 'some.B-A 'no.B-C) (list 'some.B-A 'some.B-C) (list 'some.B-A 'not-all.B-C) (list 'not-all.B-A 'all.B-C) (list 'not-all.B-A 'no.B-C) (list 'not-all.B-A 'some.B-C) (list 'not-all.B-A 'not-all.B-C) )))
((4) (uniform-draw (list (list 'all.A-B 'all.B-C) (list 'all.A-B 'no.B-C) (list 'all.A-B 'some.B-C) (list 'all.A-B 'not-all.B-C) (list 'no.A-B 'all.B-C) (list 'no.A-B 'no.B-C) (list 'no.A-B 'some.B-C) (list 'no.A-B 'not-all.B-C) (list 'some.A-B 'all.B-C) (list 'some.A-B 'no.B-C) (list 'some.A-B 'some.B-C) (list 'some.A-B 'not-all.B-C) (list 'not-all.A-B 'all.B-C) (list 'not-all.A-B 'no.B-C) (list 'not-all.A-B 'some.B-C) (list 'not-all.A-B 'not-all.B-C) )))
)))
; this function takes a distribution, raises it to a power (alph) and renormalizes
; this is used in conjunction with the optimality parameter (alpha)
(define (raise-to-power dist alph)
(list (first dist) (map (lambda (x) (pow x alph)) (second dist))))
(define experimenter
; the experimenter takes in the conclusion as an argument (i.e. she has a conclusion in mind)
(mem
(lambda (conclusion figure depth)
(enumeration-query
; the experimenter draws premises from the premise-prior (uniform) distribution
(define premises (premise-prior figure))
; the experimenter produces premises
premises
; the experimenter wants the reasoner to draw a particular conclusion, gives the premises
(equal? conclusion (apply multinomial (raise-to-power (reasoner premises figure depth) alpha))
)))))
(define reasoner
; the reasoner takes in premises as arguments (the figure value needs to be passed to restrict the space of alternative premises considered)
(mem
(lambda (premises figure depth)
(enumeration-query
; the reasoner is uncertain about what the situation is
(define situation (situation-prior))
; the reasoner is also uncertain about what conclusion is true
(define conclusion (conclusion-prior number-of-conclusions))
; the reasoner produces a conclusion
conclusion
(and
; the conclusion must be a true of the situation
(sentence-eval conclusion situation)
(if (= depth 0)
(if (= alpha 0)
; you can set alpha = 0 to see what happens when you condition only on the truth of the conclusion
; (in this case, the subject doesn't read the premises and just evaluates the conclusion)
; in the paper, this is referred to as the "Prior"
true
; if alpha > 0, condition on the premises being truth of the situation
(sentence-eval premises situation))
; if depth = 1, the reasoner assumes the experimenter produces premises
; conditioned on the reasoner drawing a particular conclusion
(equal? premises (apply multinomial (experimenter conclusion figure (- depth 1))))))))))
; EXAMPLES FROM FIGURE 2 of CogSci proceedings
; note that in those simulations, we used number-of-conclusions = 8 and collapsed across term-orderings to compare to the
; Oaksford & Chater (1999) meta-analysis data (which did essentially the same procedure for pooling data from different studies)
; [1]
; No B are A
; All C are B
(reasoner (list 'no.B-A 'all.C-B) 1 0)
; this is a valid (figure 4) syllogism with 2 valid conclusions
; the literal reaonser (depth=0) has no preference among valid conclusions
; the pragmatic reasonser (depth=1) infers that "None" is the more likely intended conclusion
; [2]
; All B are A
; Some B are C
;(reasoner (list 'all.B-A 'some.B-C) 3 0)
; [3] All A are B
; Some B are C
;(reasoner (list 'all.A-B 'some.B-C) 4 0)
; [4] Some B are A
; No B are C
;(reasoner (list 'some.B-A 'no.B-C) 3 0)
; [5] No A are B
; No B are C
;(reasoner (list 'no.A-B 'no.B-C) 4 0)
; Example of figure 2 syllogism
;(reasoner (list 'all.A-B 'all.C-B) 2 0)
References: