\l tck/choose assert_true: D[(();,`fail;`ifte)] assertfalse: D[(,`fail;();`ifte)] parent1: D[("parent1";`get)] parent2: D[("parent2";`get)] kibi: D[("kibi";`get)] kibi_self_desc: D[("kibi_self_desc";`get)] kibi_lied: D[("kibi_lied_";`get)] parent1_set: D[("parent1";`set)] parent2_set: D[("parent2";`set)] kibi_set: D[("kibi";`set)] kibi_self_desc_set: D[("kibi_self_desc";`set)] kibi_lied_set: D[("kibi_lied_";`set)] same_sex_: D[~] male_: D[("male";~)] female_: D[("female";~)] lied_: D[("yes";~)] solve: D[(("male";"female");`choose;`parent1_set ("male";"female");`choose;`parent2_set ("male";"female");`choose;`kibi_set ("male";"female");`choose;`kibi_self_desc_set ("yes";"no");`choose;`kibi_lied_set `parent1`parent2`same_sex_`assert_false (`kibi;male_;`kibi_lied`not`assert_true;();`ifte) `kibi_lied_ (`kibi_self_desc`male_`kibi`female_`and `kibi_self_desc`female_`kibi`male_`and `xor`assert_true) (`kibi_self_desc`male_`kibi`male_`and `kibi_self_desc`female_`kibi`female_`and `xor`assert_true) `ifte `parent1`male_ (`kibi`female_`kibi_lied`lied_`not`and `kibi`male_`kibi_lied`lied_`and `xor `kibi_self_desc`male_ `and `assert_true) `kibi`female_`kibi_lied`lied_`and`assert_true `ifte `parent1`parent2`kibi)] E(`init_choose;`solve)