// Numbas version: exam_results_page_options {"name": "CMPU2012-Predicate Logic", "metadata": {"description": "

Practice questions on these topics.

", "licence": "Creative Commons Attribution 4.0 International"}, "duration": 0, "percentPass": 0, "showQuestionGroupNames": false, "shuffleQuestionGroups": false, "showstudentname": true, "question_groups": [{"name": "Group", "pickingStrategy": "all-ordered", "pickQuestions": 1, "questionNames": ["", "", "", ""], "variable_overrides": [[], [], [], []], "questions": [{"name": "Marie's copy of Andrew's copy of Propositions (v2)", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Newcastle University Mathematics and Statistics", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/697/"}, {"name": "Marie Nicholson", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/1799/"}], "tags": [], "metadata": {"description": "

Asks to determine whether or not 6 statements are propositions or not i.e. we can determine a truth value or not.

", "licence": "Creative Commons Attribution 4.0 International"}, "statement": "

Which of the following are propositions?

", "advice": "

For the above we have:

\n

1.  {all[select[0]][0]}

\n

{all[select[0]][1]}

\n

2.  {all[select[1]][0]}

\n

{all[select[1]][1]}

\n

3.  {all[select[2]][0]}

\n

{all[select[2]][1]}

\n

4.  {all[select[3]][0]}

\n

{all[select[3]][1]}

\n

5.  {all[select[4]][0]}

\n

{all[select[4]][1]}

\n

6.  {all[select[5]][0]}

\n

{all[select[5]][1]}

", "rulesets": {}, "variables": {"all": {"name": "all", "group": "Ungrouped variables", "definition": "[\n['Every real number is an even integer.','This is a proposition. It is false as there are real numbers which are not even integers, e.g. $1$.',1],\n ['Every even integer is a real number.','A proposition and true.',1],\n ['If $x$ and $y$ are real numbers and $5x=5y$, then $x=y$.','A true proposition as we can cancel off the 5s.',1],\n ['Lions and tigers.','This is not a proposition as there is no truth value we can determine.',0],\n ['Lions and tigers are animals.','This is a true proposition, at least in the standard interpretation of the words.',1],\n ['Some sets are finite.','A true proposition as, for example, the set $\\\\\\{1 \\\\\\}$ is finite.',1],\n ['The derivative of any polynomial of degree $5$ is a polynomial of degree $6$.','This is a false proposition (as the derivative is of degree $4$).',1],\n ['The smallest positive whole number is 2.','This is a proposition and false, as the smallest positive whole number is $1$.',1],\n ['$\\\\cos(x)=-1$.','This is not a proposition: its truth depends on the value of $x$.',0],\n ['If $n$ is a real number and $n$ is not zero then $n/n=1$.','This a proposition: it is true.',1],\n ['The integer $x$ is a multiple of $7$.','Not a proposition. Its truth depends on the value of $x$.',0],\n ['If the integer $x$ is a multiple of $7$, then it is divisible by $7$.','A true proposition.',1],\n ['Either the integer $x$ is a multiple of $7$, or it is not.','A proposition and true.',1],\n ['Call me Ishmael.','Not a proposition as we cannot ascertain a truth value.',0],\n ['Either $x>3$ or $x<0$.','Not a proposition: its truth depends on the value of $x$.',0],\n ['They like fishcakes.','Not a proposition. Its truth depends on who \"They\" are.',0],\n ['In the beginning.','Not a proposition: is neither true nor false.',0],\n ['Newcastle University is a much better place to get your degree.','Not a proposition. It depends on what \"better\" refers to.',0],\n ['To be or not to be.','Not a proposition: is neither true nor false.',0],\n ['Sunderland football club is at its peak.','Not a proposition. It depends on when it is said, and what \"peak\" means.',0],\n ['Newcastle United finished above Sunderland in the 2014-2015 Season.','A proposition. It is true, according to the records.',1],\n ['England and the UK are two different names for the same place.', 'A proposition. People from England may say it is true. They are wrong.',1],\n ['If $3x^2-2=0$ then $x=\\\\sqrt{2/3}$ or $x=-\\\\sqrt{2/3}$','A proposition. It does not depend what $x$ is. It is true.',1],\n ['Numbers $x$, $y$ and $z$ have the property that $x+y=z$.','Not a proposition, as its truth depends on the values of $x$, $y$ and $z$.',0],\n ['Numbers $x$, $y$ and $z$ have the property that $x+y>z$ or $x+y \\\\le z$.', 'A proposition. One or other of the conditions holds.',1] \n ]", "description": "", "templateType": "anything"}, "marking_matrix": {"name": "marking_matrix", "group": "Ungrouped variables", "definition": "map([all[x][2],(all[x][2])*(-1)+1],x,select)", "description": "", "templateType": "anything"}, "select": {"name": "select", "group": "Ungrouped variables", "definition": "shuffle(list(0..length(all)-1))[0..6]", "description": "", "templateType": "anything"}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["all", "select", "marking_matrix"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "m_n_x", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minMarks": 0, "maxMarks": 0, "minAnswers": 0, "maxAnswers": 0, "shuffleChoices": false, "shuffleAnswers": false, "displayType": "radiogroup", "warningType": "none", "showCellAnswerState": true, "markingMethod": "sum ticked cells", "choices": ["{all[select[0]][0]}", "{all[select[1]][0]}", "{all[select[2]][0]}", "{all[select[3]][0]}", "{all[select[4]][0]}", "{all[select[5]][0]}"], "matrix": "marking_matrix", "layout": {"type": "all", "expression": ""}, "answers": ["Proposition", "Not a proposition"]}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Quantifiers1-", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Newcastle University Mathematics and Statistics", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/697/"}], "variable_groups": [{"variables": ["marking_matrix", "select"], "name": "Part 0"}, {"variables": ["select1", "marking_matrix1"], "name": "Part 1"}, {"variables": ["select2", "marking_matrix2"], "name": "Part 2"}], "variables": {"neg_marks": {"group": "Ungrouped variables", "templateType": "anything", "definition": "2*id(3)+matrix(map(map(-1,x,0..2),y,0..2))", "name": "neg_marks", "description": ""}, "marking_matrix1": {"group": "Part 1", "templateType": "anything", "definition": "map(list(neg_marks[x])+[all[select1[x]][2]]+[-1*all[select1[x]][2]],x,0..2)", "name": "marking_matrix1", "description": ""}, "marking_matrix": {"group": "Part 0", "templateType": "anything", "definition": "map(list(neg_marks[x])+[all[select[x]][2]]+[-1*all[select[x]][2]],x,0..2)", "name": "marking_matrix", "description": ""}, "select1": {"group": "Part 1", "templateType": "anything", "definition": "list(set(0..length(all)-1)-set(select))[0..3]", "name": "select1", "description": ""}, "select": {"group": "Part 0", "templateType": "anything", "definition": "shuffle(list(0..length(all)-1))[0..3]", "name": "select", "description": ""}, "all": {"group": "Ungrouped variables", "templateType": "anything", "definition": "[['The square of any real number is greater than $0$.',\n '$\\\\forall x \\\\in \\\\mathbb{R}\\\\;(x^2\\\\gt 0).$',-1],\n ['Given a real number then some integral power is not negative.',\n '$\\\\forall x \\\\in \\\\mathbb{R} \\\\;\\\\exists n \\\\in \\\\mathbb{N}\\\\;(x^n\\\\geq 0).$',1],\n ['A subset of the natural numbers is a subset of the reals.',\n '$\\\\forall X \\\\subseteq \\\\mathbb{N}\\\\;(X\\\\subseteq \\\\mathbb{R}).$',1],\n ['For every natural number $n$ there is a subset of $\\\\mathbb{N}$ with less than $n$ members.',\n '$\\\\forall n \\\\in \\\\mathbb{N}\\\\;\\\\exists X \\\\subseteq \\\\mathbb{N}\\\\;(|X|\\\\lt n).$',1],\n ['All subsets of the natural numbers have less than a fixed number of elements.',\n '$\\\\exists n \\\\in \\\\mathbb{N}\\\\; \\\\forall X \\\\subseteq \\\\mathbb{N}\\\\;(|X|\\\\lt n).$',-1],\n ['All subsets of the natural numbers are finite.',\n '$\\\\forall X \\\\subseteq \\\\mathbb{N}\\\\;\\\\exists n \\\\in \\\\mathbb{Z}\\\\;(|X|=n).$',-1],\n ['Given an integer $n$, there is a subset of the natural numbers with $n$ elements.',\n '$\\\\forall n \\\\in \\\\mathbb{Z}\\\\;\\\\exists X \\\\subseteq \\\\mathbb{N}\\\\;(|X|=n).$',-1],\n ['Given an integer, then adding $5$ to it gives another integer.',\n '$\\\\forall n \\\\in \\\\mathbb{Z}\\\\; \\\\exists m \\\\in \\\\mathbb{Z}\\\\; (m=n+5).$',1],\n ['There is an integer $t$ such that adding $5$ to any integer gives $t$.',\n '$\\\\exists m \\\\in \\\\mathbb{Z}\\\\; \\\\forall n \\\\in \\\\mathbb{Z}\\\\; (m=n+5).$',-1]\n ]", "name": "all", "description": ""}, "select2": {"group": "Part 2", "templateType": "anything", "definition": "list(set(0..length(all)-1)-(set(select) or set(select1)))", "name": "select2", "description": ""}, "marking_matrix2": {"group": "Part 2", "templateType": "anything", "definition": "map(list(neg_marks[x])+[all[select2[x]][2]]+[-1*all[select2[x]][2]],x,0..2)", "name": "marking_matrix2", "description": ""}}, "ungrouped_variables": ["all", "neg_marks"], "rulesets": {}, "showQuestionGroupNames": false, "functions": {}, "parts": [{"displayType": "checkbox", "layout": {"type": "all", "expression": ""}, "choices": ["{all[select[0]][0]}", "{all[select[1]][0]}", "{all[select[2]][0]}"], "showCorrectAnswer": true, "matrix": "marking_matrix", "minAnswers": "6", "maxAnswers": "6", "shuffleChoices": true, "warningType": "warn", "scripts": {}, "minMarks": 0, "type": "m_n_x", "maxMarks": 0, "shuffleAnswers": false, "variableReplacementStrategy": "originalfirst", "variableReplacements": [], "marks": 0, "answers": ["{all[select[0]][1]}", "{all[select[1]][1]}", "{all[select[2]][1]}", "True", "False"]}, {"displayType": "checkbox", "layout": {"type": "all", "expression": ""}, "choices": ["{all[select1[0]][0]}", "{all[select1[1]][0]}", "{all[select1[2]][0]}"], "showCorrectAnswer": true, "matrix": "marking_matrix1", "minAnswers": "6", "maxAnswers": "6", "shuffleChoices": true, "warningType": "warn", "scripts": {}, "minMarks": 0, "type": "m_n_x", "maxMarks": 0, "shuffleAnswers": false, "variableReplacementStrategy": "originalfirst", "variableReplacements": [], "marks": 0, "answers": ["{all[select1[0]][1]}", "{all[select1[1]][1]}", "{all[select1[2]][1]}", "True", "False"]}, {"displayType": "checkbox", "layout": {"type": "all", "expression": ""}, "choices": ["{all[select2[0]][0]}", "{all[select2[1]][0]}", "{all[select2[2]][0]}"], "showCorrectAnswer": true, "matrix": "marking_matrix2", "minAnswers": "6", "maxAnswers": "6", "shuffleChoices": true, "warningType": "warn", "scripts": {}, "minMarks": 0, "type": "m_n_x", "maxMarks": 0, "shuffleAnswers": false, "variableReplacementStrategy": "originalfirst", "variableReplacements": [], "marks": 0, "answers": ["{all[select2[0]][1]}", "{all[select2[1]][1]}", "{all[select2[2]][1]}", "True", "False"]}], "variablesTest": {"condition": "", "maxRuns": 100}, "statement": "

Choose the appropriate proposition  for the following English sentences. Also choose whether they are true or false.

\n

You must make $2$ choices in each row, one of which is to determine whether the proposition  is true or false.

\n

Note also that every wrong answer takes away one from your score. However, your minimum score is $0$.

", "tags": ["logic", "quantifiers", "statements"], "question_groups": [{"pickingStrategy": "all-ordered", "questions": [], "name": "", "pickQuestions": 0}], "preamble": {"css": "", "js": ""}, "type": "question", "metadata": {"notes": "", "licence": "Creative Commons Attribution 4.0 International", "description": "

English sentences are given and for each the appropriate proposition involving quantifiers is to be chosen. Also choose whether the propositions are true or false.

"}, "advice": ""}, {"name": "Predicates ", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Bill Foster", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/6/"}], "functions": {}, "ungrouped_variables": ["choices", "logic_exp", "t", "mm0", "mm1", "mm2"], "tags": ["logic", "logical expressions", "propositions"], "advice": "", "rulesets": {}, "parts": [{"maxAnswers": 0, "prompt": "

Let $p$ and $q$ denote respectively the propositions '{choices[0][0]}' and '{choices[0][1]}'.

", "matrix": "mm0", "shuffleAnswers": true, "minAnswers": 0, "marks": 0, "variableReplacements": [], "answers": ["{logic_exp[0]}", "{logic_exp[1]}", "{logic_exp[2]}", "{logic_exp[3]}", "{logic_exp[4]}", "{logic_exp[5]}", "{logic_exp[6]}", "{logic_exp[7]}", "{logic_exp[8]}"], "choices": ["{choices[0][2]}", "{choices[0][3]}", "{choices[0][4]}", "{choices[0][5]}"], "variableReplacementStrategy": "originalfirst", "displayType": "radiogroup", "maxMarks": 0, "scripts": {}, "warningType": "none", "showCorrectAnswer": true, "type": "m_n_x", "shuffleChoices": true, "minMarks": 0, "layout": {"type": "all", "expression": ""}}, {"maxAnswers": 0, "prompt": "

Let $p$ and $q$ denote respectively the propositions '{choices[1][0]}' and '{choices[1][1]}'.

", "matrix": "mm1", "shuffleAnswers": true, "minAnswers": 0, "marks": 0, "variableReplacements": [], "answers": ["{logic_exp[0]}", "{logic_exp[1]}", "{logic_exp[2]}", "{logic_exp[3]}", "{logic_exp[4]}", "{logic_exp[5]}", "{logic_exp[6]}", "{logic_exp[7]}", "{logic_exp[8]}"], "choices": ["{choices[1][2]}", "{choices[1][3]}", "{choices[1][4]}", "{choices[1][5]}"], "variableReplacementStrategy": "originalfirst", "displayType": "radiogroup", "maxMarks": 0, "scripts": {}, "warningType": "none", "showCorrectAnswer": true, "type": "m_n_x", "shuffleChoices": true, "minMarks": 0, "layout": {"type": "all", "expression": ""}}, {"maxAnswers": 0, "prompt": "

Let $p$ and $q$ denote respectively the propositions '{choices[2][0]}' and '{choices[2][1]}'.

", "matrix": "mm2", "shuffleAnswers": true, "minAnswers": 0, "marks": 0, "variableReplacements": [], "answers": ["{logic_exp[0]}", "{logic_exp[1]}", "{logic_exp[2]}", "{logic_exp[3]}", "{logic_exp[4]}", "{logic_exp[5]}", "{logic_exp[6]}", "{logic_exp[7]}", "{logic_exp[8]}"], "choices": ["{choices[2][2]}", "{choices[2][3]}", "{choices[2][4]}", "{choices[2][5]}"], "variableReplacementStrategy": "originalfirst", "displayType": "radiogroup", "maxMarks": 0, "scripts": {}, "warningType": "none", "showCorrectAnswer": true, "type": "m_n_x", "shuffleChoices": true, "minMarks": 0, "layout": {"type": "all", "expression": ""}}], "statement": "

Choose the correct logical expression  for the following English sentences.

", "variable_groups": [], "variablesTest": {"maxRuns": 100, "condition": ""}, "preamble": {"css": "", "js": ""}, "variables": {"mm1": {"definition": "map(map(if(choices[1][6][y]=x,1,0),x,0..8),y,0..3)", "templateType": "anything", "group": "Ungrouped variables", "name": "mm1", "description": ""}, "mm0": {"definition": "map(map(if(choices[0][6][y]=x,1,0),x,0..8),y,0..3)", "templateType": "anything", "group": "Ungrouped variables", "name": "mm0", "description": ""}, "mm2": {"definition": "map(map(if(choices[2][6][y]=x,1,0),x,0..8),y,0..3)", "templateType": "anything", "group": "Ungrouped variables", "name": "mm2", "description": ""}, "t": {"definition": "random(0,1,2)", "templateType": "anything", "group": "Ungrouped variables", "name": "t", "description": ""}, "choices": {"definition": "[['It is snowing','I will go skiing',\n 'As it is not snowing I will go skiing.',\n 'It will snow if I don\\'t go skiing.',\n 'I will go skiing if it is snowing.',\n 'It is snowing and I may or may not go skiing.',\n [2,8,4,6,0,1,3,7,5]\n ],\n ['I am working at my studies', 'I am in the library',\n 'I am working at my studies in the library.',\n 'If I use the library then I am working at my studies.',\n 'If I am working at my studies then I am not in the library.',\n 'If I am in the library then I may not be working at my studies.',\n [1,7,0,6,8,2,3,4,5]\n ],\n ['It is sunny','I will carry an umbrella',\n 'If it is not sunny then I will carry an umbrella.',\n 'I carry an umbrella even if it is sunny.',\n 'If it is sunny then I may carry an umbrella.',\n 'If I carry an umbrella then the day always turns out to be sunny!',\n [8,4,6,7,0,1,2,5,3]\n \n]\n \n]", "templateType": "anything", "group": "Ungrouped variables", "name": "choices", "description": ""}, "logic_exp": {"definition": "['$\\\\neg p \\\\lor \\\\neg q$', \n '$p \\\\land q$', \n '$\\\\neg p \\\\land q$',\n '$p \\\\land \\\\neg q$',\n '$p \\\\to q$',\n '$\\\\neg p \\\\land \\\\neg q$',\n '$(p \\\\lor \\\\neg q) \\\\land p$',\n '$q \\\\to p$',\n '$\\\\neg p \\\\to q$'\n ]", "templateType": "anything", "group": "Ungrouped variables", "name": "logic_exp", "description": ""}}, "metadata": {"notes": "", "description": "

Given sentences involving propositions translate into logical expressions.

", "licence": "Creative Commons Attribution 4.0 International"}, "type": "question", "showQuestionGroupNames": false, "question_groups": [{"name": "", "pickingStrategy": "all-ordered", "pickQuestions": 0, "questions": []}]}, {"name": "Truth tables 4 (v2)", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Christian Lawson-Perfect", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/7/"}, {"name": "Newcastle University Mathematics and Statistics", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/697/"}], "variable_groups": [{"variables": ["logic_symbol_list", "latex_symbol_list", "s"], "name": "Lists of symbols"}, {"variables": ["a", "b", "op", "pre_ev1", "ev1"], "name": "First Bracket"}, {"variables": ["a1", "b1", "op2", "pre_ev2", "ev2"], "name": "Second Bracket"}, {"variables": ["p", "q", "r", "bool_p", "bool_q", "bool_r"], "name": "Truth values"}, {"variables": ["a2", "pre_ev3", "c2", "d2", "ev3"], "name": "Last "}, {"variables": ["op1", "pre_t_value", "t_value"], "name": "First and Second Brackets"}], "variables": {"a": {"group": "First Bracket", "templateType": "anything", "definition": "latex(latex_symbol_list[s[0]])", "description": "", "name": "a"}, "op": {"group": "First Bracket", "templateType": "anything", "definition": "latex(random(\"\\\\lor\",\"\\\\land\",\"\\\\to\"))", "description": "", "name": "op"}, "op4": {"group": "Ungrouped variables", "templateType": "anything", "definition": "latex(random(\"\\\\lor\",\"\\\\land\",\"\\\\to\"))", "description": "", "name": "op4"}, "a1": {"group": "Second Bracket", "templateType": "anything", "definition": "latex(latex_symbol_list[s[2]])", "description": "", "name": "a1"}, "op2": {"group": "Second Bracket", "templateType": "anything", "definition": "latex(random(\"\\\\lor\",\"\\\\land\",\"\\\\to\"))", "description": "", "name": "op2"}, "c2": {"group": "Last ", "templateType": "anything", "definition": "latex(switch(a2=\"\\\\neg p\",\"p\",a2=\"\\\\neg q\",\"q\",\"r\"))", "description": "", "name": "c2"}, "d2": {"group": "Last ", "templateType": "anything", "definition": "switch(a2=\"\\\\neg p\",p,a2=\"\\\\neg q\",q,r)", "description": "", "name": "d2"}, "logic_values": {"group": "Ungrouped variables", "templateType": "anything", "definition": "transpose(bool_matrix(cart(3)))", "description": "", "name": "logic_values"}, "ev1": {"group": "First Bracket", "templateType": "anything", "definition": "bool_to_label(pre_ev1)", "description": "", "name": "ev1"}, "b": {"group": "First Bracket", "templateType": "anything", "definition": "latex(latex_symbol_list[s[1]])", "description": "", "name": "b"}, "ev3": {"group": "Last ", "templateType": "anything", "definition": "bool_to_label(pre_ev3)", "description": "", "name": "ev3"}, "p": {"group": "Truth values", "templateType": "anything", "definition": "bool_to_label(list_to_boolean(list(logic_values[0])))", "description": "", "name": "p"}, "a2": {"group": "Last ", "templateType": "anything", "definition": "latex(random(\"\\\\neg p\",\"\\\\neg q\",\"\\\\neg r\"))", "description": "", "name": "a2"}, "bool_p": {"group": "Truth values", "templateType": "anything", "definition": "list_to_boolean(list(logic_values[0]))", "description": "", "name": "bool_p"}, "final_value": {"group": "Ungrouped variables", "templateType": "anything", "definition": "bool_to_label(pre_final_value)", "description": "", "name": "final_value"}, "pre_ev1": {"group": "First Bracket", "templateType": "anything", "definition": "map(evaluate(convch(a)+\" \"+conv(op)+\" \"+convch(b),[bool_p[t],bool_q[t],bool_r[t]]),t,0..7)", "description": "", "name": "pre_ev1"}, "q": {"group": "Truth values", "templateType": "anything", "definition": "bool_to_label(list_to_boolean(list(logic_values[1])))", "description": "", "name": "q"}, "latex_symbol_list": {"group": "Lists of symbols", "templateType": "anything", "definition": "[\"p\",\"q\",\"\\\\neg p\",\"\\\\neg q\",\"r\",\"\\\\neg r\"]", "description": "", "name": "latex_symbol_list"}, "pre_ev3": {"group": "Last ", "templateType": "anything", "definition": "map(evaluate(convch(a2),[bool_p[t],bool_q[t],bool_r[t]]),t,0..7)", "description": "", "name": "pre_ev3"}, "ev2": {"group": "Second Bracket", "templateType": "anything", "definition": "bool_to_label(pre_ev2)", "description": "", "name": "ev2"}, "bool_r": {"group": "Truth values", "templateType": "anything", "definition": "list_to_boolean(list(logic_values[2]))", "description": "", "name": "bool_r"}, "b1": {"group": "Second Bracket", "templateType": "anything", "definition": "latex(latex_symbol_list[s[3]])", "description": "", "name": "b1"}, "t_value": {"group": "First and Second Brackets", "templateType": "anything", "definition": "bool_to_label(pre_t_value)", "description": "", "name": "t_value"}, "r": {"group": "Truth values", "templateType": "anything", "definition": "bool_to_label(list_to_boolean(list(logic_values[2])))", "description": "", "name": "r"}, "pre_ev2": {"group": "Second Bracket", "templateType": "anything", "definition": "map(evaluate(convch(a1)+\" \"+conv(op2)+\" \"+convch(b1),[bool_p[t],bool_q[t],bool_r[t]]),t,0..7)", "description": "", "name": "pre_ev2"}, "pre_final_value": {"group": "Ungrouped variables", "templateType": "anything", "definition": "map(evaluate(pre_t_value[t]+\" \"+conv(op4)+\" \"+pre_ev3[t],[]),t,0..7)", "description": "", "name": "pre_final_value"}, "logic_symbol_list": {"group": "Lists of symbols", "templateType": "anything", "definition": "[\"p\",\"q\",\"not p\",\"not q\",\"r\",\"not r\"]", "description": "", "name": "logic_symbol_list"}, "s": {"group": "Lists of symbols", "templateType": "anything", "definition": "repeat(random(0..5),6)", "description": "", "name": "s"}, "bool_q": {"group": "Truth values", "templateType": "anything", "definition": "list_to_boolean(list(logic_values[1]))", "description": "", "name": "bool_q"}, "op1": {"group": "First and Second Brackets", "templateType": "anything", "definition": "latex(random(\"\\\\lor\",\"\\\\land\",\"\\\\to\"))", "description": "", "name": "op1"}, "pre_t_value": {"group": "First and Second Brackets", "templateType": "anything", "definition": "map(evaluate(pre_ev1[t]+\" \"+conv(op1)+\" \"+pre_ev2[t],[]),t,0..7)", "description": "", "name": "pre_t_value"}}, "ungrouped_variables": ["pre_final_value", "op4", "logic_values", "final_value"], "functions": {"conv": {"type": "string", "language": "jme", "definition": "switch(op=\"\\\\land\",\"and\",op=\"\\\\lor\",\"or\",\"implies\")", "parameters": [["op", "string"]]}, "cart": {"type": "list", "language": "jme", "definition": "if(n=2,[[true,true],[true,false],[false,true],[false,false]],map([true]+cart(n-1)[x],x,0..2^(n-1)-1)+map([false]+cart(n-1)[x],x,0..2^(n-1)-1))", "parameters": [["n", "number"]]}, "evaluate": {"type": "number", "language": "javascript", "definition": "return scope.evaluate(expr);", "parameters": [["expr", "string"], ["dependencies", "list"]]}, "bool_matrix": {"type": "matrix", "language": "jme", "definition": "matrix(map(map(if(c,1,0),c,row),row,m))", "parameters": [["m", "list"]]}, "convch": {"type": "string", "language": "jme", "definition": "switch(ch=\"\\\\neg p\",\"not bool_p[t]\",ch=\"\\\\neg q\",\"not bool_q[t]\",ch=\"p\",\"bool_p[t]\",ch=\"q\",\"bool_q[t]\",ch=\"r\",\"bool_r[t]\",\"not bool_r[t]\")", "parameters": [["ch", "string"]]}, "bool_to_label": {"type": "number", "language": "jme", "definition": "map(if(l[x],'T','F'),x,0..length(l)-1)", "parameters": [["l", "list"]]}, "list_to_boolean": {"type": "list", "language": "jme", "definition": "map(if(l[x]<>0,true,false),x,0..length(l)-1)", "parameters": [["l", "list"]]}}, "parts": [{"prompt": "

Complete the following truth table:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$p$$q$$r$$((\\var{a} \\var{op} \\var{b})\\var{op1}(\\var{a1} \\var{op2} \\var{b1}))\\var{op4}\\var{a2} $
$\\var{p[0]}$$\\var{q[0]}$$\\var{r[0]}$[[0]]
$\\var{p[1]}$$\\var{q[1]}$$\\var{r[1]}$[[1]]
$\\var{p[2]}$$\\var{q[2]}$$\\var{r[2]}$[[2]]
$\\var{p[3]}$$\\var{q[3]}$$\\var{r[3]}$[[3]]
$\\var{p[4]}$$\\var{q[4]}$$\\var{r[4]}$[[4]]
$\\var{p[5]}$$\\var{q[5]}$$\\var{r[5]}$[[5]]
$\\var{p[6]}$$\\var{q[6]}$$\\var{r[6]}$[[6]]
$\\var{p[7]}$$\\var{q[7]}$$\\var{r[7]}$[[7]]
", "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "useCustomName": false, "customName": "", "unitTests": [], "showFeedbackIcon": true, "scripts": {}, "gaps": [{"answer": "{final_value[0]}", "displayAnswer": "{final_value[0]}", "customMarkingAlgorithm": "", "variableReplacementStrategy": "originalfirst", "useCustomName": false, "customName": "", "unitTests": [], "matchMode": "regex", "showFeedbackIcon": true, "scripts": {}, "extendBaseMarkingAlgorithm": true, "type": "patternmatch", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}, {"answer": "{final_value[1]}", "displayAnswer": "{final_value[1]}", "customMarkingAlgorithm": "", "variableReplacementStrategy": "originalfirst", "useCustomName": false, "customName": "", "unitTests": [], "matchMode": "regex", "showFeedbackIcon": true, "scripts": {}, "extendBaseMarkingAlgorithm": true, "type": "patternmatch", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}, {"answer": "{final_value[2]}", "displayAnswer": "{final_value[2]}", "customMarkingAlgorithm": "", "variableReplacementStrategy": "originalfirst", "useCustomName": false, "customName": "", "unitTests": [], "matchMode": "regex", "showFeedbackIcon": true, "scripts": {}, "extendBaseMarkingAlgorithm": true, "type": "patternmatch", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}, {"answer": "{final_value[3]}", "displayAnswer": "{final_value[3]}", "customMarkingAlgorithm": "", "variableReplacementStrategy": "originalfirst", "useCustomName": false, "customName": "", "unitTests": [], "matchMode": "regex", "showFeedbackIcon": true, "scripts": {}, "extendBaseMarkingAlgorithm": true, "type": "patternmatch", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}, {"answer": "{final_value[4]}", "displayAnswer": "{final_value[4]}", "customMarkingAlgorithm": "", "variableReplacementStrategy": "originalfirst", "useCustomName": false, "customName": "", "unitTests": [], "matchMode": "regex", "showFeedbackIcon": true, "scripts": {}, "extendBaseMarkingAlgorithm": true, "type": "patternmatch", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}, {"answer": "{final_value[5]}", "displayAnswer": "{final_value[5]}", "customMarkingAlgorithm": "", "variableReplacementStrategy": "originalfirst", "useCustomName": false, "customName": "", "unitTests": [], "matchMode": "regex", "showFeedbackIcon": true, "scripts": {}, "extendBaseMarkingAlgorithm": true, "type": "patternmatch", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}, {"answer": "{final_value[6]}", "displayAnswer": "{final_value[6]}", "customMarkingAlgorithm": "", "variableReplacementStrategy": "originalfirst", "useCustomName": false, "customName": "", "unitTests": [], "matchMode": "regex", "showFeedbackIcon": true, "scripts": {}, "extendBaseMarkingAlgorithm": true, "type": "patternmatch", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}, {"answer": "{final_value[7]}", "displayAnswer": "{final_value[7]}", "customMarkingAlgorithm": "", "variableReplacementStrategy": "originalfirst", "useCustomName": false, "customName": "", "unitTests": [], "matchMode": "regex", "showFeedbackIcon": true, "scripts": {}, "extendBaseMarkingAlgorithm": true, "type": "patternmatch", "showCorrectAnswer": true, "variableReplacements": [], "marks": 1}], "type": "gapfill", "variableReplacementStrategy": "originalfirst", "showCorrectAnswer": true, "variableReplacements": [], "marks": 0, "sortAnswers": false}], "variablesTest": {"condition": "a1 <>b1 and\nif(a='p' or a='\\\\neg p',b=random('q','\\\\neg q'),b=random('p','\\\\neg p'))\n", "maxRuns": "150"}, "statement": "

In the following question you are asked to construct a truth table for:

\n

\\[((\\var{a} \\var{op} \\var{b})\\var{op1}(\\var{a1} \\var{op2} \\var{b1}))\\var{op4}\\var{a2}.\\]

\n

\n

Enter T if true, else enter F.

\n

\n

\n

\n

\n

\n

\n

\n

\n

\n

\n

", "tags": [], "rulesets": {}, "preamble": {"css": "", "js": ""}, "type": "question", "metadata": {"licence": "Creative Commons Attribution 4.0 International", "description": "

Create a truth table for a logical expression of the form $((a \\operatorname{op1} b) \\operatorname{op2}(c \\operatorname{op3} d))\\operatorname{op4}e $ where each of $a, \\;b,\\;c,\\;d,\\;e$ can be one the Boolean variables $p,\\;q,\\;r,\\;\\neg p,\\;\\neg q,\\;\\neg r$ and each of $\\operatorname{op1},\\;\\operatorname{op2},\\;\\operatorname{op3},\\;\\operatorname{op4}$ one of $\\lor,\\;\\land,\\;\\to$.

\n

For example: $((q \\lor \\neg r) \\to (p \\land \\neg q)) \\land \\neg r$

"}, "advice": "

First we find the truth table for $\\var{a} \\var{op} \\var{b}$:

\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$p$$q$$r$$\\var{a} \\var{op} \\var{b}$
$\\var{p[0]}$$\\var{q[0]}$$\\var{r[0]}$$\\var{ev1[0]}$
$\\var{p[1]}$$\\var{q[1]}$$\\var{r[1]}$$\\var{ev1[1]}$
$\\var{p[2]}$$\\var{q[2]}$$\\var{r[2]}$$\\var{ev1[2]}$
$\\var{p[3]}$$\\var{q[3]}$$\\var{r[3]}$$\\var{ev1[3]}$
$\\var{p[4]}$$\\var{q[4]}$$\\var{r[4]}$$\\var{ev1[4]}$
$\\var{p[5]}$$\\var{q[5]}$$\\var{r[5]}$$\\var{ev1[5]}$
$\\var{p[6]}$$\\var{q[6]}$$\\var{r[6]}$$\\var{ev1[6]}$
$\\var{p[7]}$$\\var{q[7]}$$\\var{r[7]}$$\\var{ev1[7]}$
\n

Then the truth table for $\\var{a1} \\var{op2} \\var{b1}$:

\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n
$p$$q$$r$$\\var{a1} \\var{op2} \\var{b1}$
$\\var{p[0]}$$\\var{q[0]}$$\\var{r[0]}$$\\var{ev2[0]}$
$\\var{p[1]}$$\\var{q[1]}$$\\var{r[1]}$$\\var{ev2[1]}$
$\\var{p[2]}$$\\var{q[2]}$$\\var{r[2]}$$\\var{ev2[2]}$
$\\var{p[3]}$$\\var{q[3]}$$\\var{r[3]}$$\\var{ev2[3]}$
$\\var{p[4]}$$\\var{q[4]}$$\\var{r[4]}$$\\var{ev2[4]}$
$\\var{p[5]}$$\\var{q[5]}$$\\var{r[5]}$$\\var{ev2[5]}$
$\\var{p[6]}$$\\var{q[6]}$$\\var{r[6]}$$\\var{ev2[6]}$
$\\var{p[7]}$$\\var{q[7]}$$\\var{r[7]}$$\\var{ev2[7]}$
\n

Putting these together to find $(\\var{a} \\var{op} \\var{b})\\var{op1}(\\var{a1} \\var{op2} \\var{b1})$:

\n

\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n
$p$$q$$r$$\\var{a} \\var{op} \\var{b}$$\\var{a1} \\var{op2} \\var{b1}$$(\\var{a} \\var{op} \\var{b})\\var{op1}(\\var{a1} \\var{op2} \\var{b1})$
$\\var{p[0]}$$\\var{q[0]}$$\\var{r[0]}$$\\var{ev1[0]}$$\\var{ev2[0]}$$\\var{t_value[0]}$
$\\var{p[1]}$$\\var{q[1]}$$\\var{r[1]}$$\\var{ev1[1]}$$\\var{ev2[1]}$$\\var{t_value[1]}$
$\\var{p[2]}$$\\var{q[2]}$$\\var{r[2]}$$\\var{ev1[2]}$$\\var{ev2[2]}$$\\var{t_value[2]}$
$\\var{p[3]}$$\\var{q[3]}$$\\var{r[3]}$$\\var{ev1[3]}$$\\var{ev2[3]}$$\\var{t_value[3]}$
$\\var{p[4]}$$\\var{q[4]}$$\\var{r[4]}$$\\var{ev1[4]}$$\\var{ev2[4]}$$\\var{t_value[4]}$
$\\var{p[5]}$$\\var{q[5]}$$\\var{r[5]}$$\\var{ev1[5]}$$\\var{ev2[5]}$$\\var{t_value[5]}$
$\\var{p[6]}$$\\var{q[6]}$$\\var{r[6]}$$\\var{ev1[6]}$$\\var{ev2[6]}$$\\var{t_value[6]}$
$\\var{p[7]}$$\\var{q[7]}$$\\var{r[7]}$$\\var{ev1[7]}$$\\var{ev2[7]}$$\\var{t_value[7]}$
\n

Next we find the truth table for $\\var{a2}$:

\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$\\var{c2}$$\\var{a2}$
$\\var{d2[0]}$$\\var{ev3[0]}$
$\\var{d2[1]}$$\\var{ev3[1]}$
$\\var{d2[2]}$$\\var{ev3[2]}$
$\\var{d2[3]}$$\\var{ev3[3]}$
$\\var{d2[4]}$$\\var{ev3[4]}$
$\\var{d2[5]}$$\\var{ev3[5]}$
$\\var{d2[6]}$$\\var{ev3[6]}$
$\\var{d2[7]}$$\\var{ev3[7]}$
\n

Putting this all together to obtain the truth table we want:

\n\n\n \n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n \n\n\n\n\n\n
$p$$q$$r$$(\\var{a} \\var{op} \\var{b})\\var{op1}(\\var{a1} \\var{op2} \\var{b1})$$\\var{a2}$$((\\var{a} \\var{op} \\var{b})\\var{op1}(\\var{a1} \\var{op2} \\var{b1}))\\var{op4}\\var{a2} $
$\\var{p[0]}$$\\var{q[0]}$$\\var{r[0]}$$\\var{t_value[0]}$$\\var{ev3[0]}$$\\var{final_value[0]}$
$\\var{p[1]}$$\\var{q[1]}$$\\var{r[1]}$$\\var{t_value[1]}$$\\var{ev3[1]}$$\\var{final_value[1]}$
$\\var{p[2]}$$\\var{q[2]}$$\\var{r[2]}$$\\var{t_value[2]}$$\\var{ev3[2]}$$\\var{final_value[2]}$
$\\var{p[3]}$$\\var{q[3]}$$\\var{r[3]}$$\\var{t_value[3]}$$\\var{ev3[3]}$$\\var{final_value[3]}$
$\\var{p[4]}$$\\var{q[4]}$$\\var{r[4]}$$\\var{t_value[4]}$$\\var{ev3[4]}$$\\var{final_value[4]}$
$\\var{p[5]}$$\\var{q[5]}$$\\var{r[5]}$$\\var{t_value[5]}$$\\var{ev3[5]}$$\\var{final_value[5]}$
$\\var{p[6]}$$\\var{q[6]}$$\\var{r[6]}$$\\var{t_value[6]}$$\\var{ev3[6]}$$\\var{final_value[6]}$
$\\var{p[7]}$$\\var{q[7]}$$\\var{r[7]}$$\\var{t_value[7]}$$\\var{ev3[7]}$$\\var{final_value[7]}$
"}]}], "allowPrinting": true, "navigation": {"allowregen": true, "reverse": true, "browse": true, "allowsteps": true, "showfrontpage": true, "showresultspage": "oncompletion", "navigatemode": "sequence", "onleave": {"action": "none", "message": ""}, "preventleave": true, "startpassword": ""}, "timing": {"allowPause": true, "timeout": {"action": "none", "message": ""}, "timedwarning": {"action": "none", "message": ""}}, "feedback": {"showactualmark": true, "showtotalmark": true, "showanswerstate": true, "allowrevealanswer": true, "advicethreshold": 0, "intro": "", "end_message": "", "reviewshowscore": true, "reviewshowfeedback": true, "reviewshowexpectedanswer": true, "reviewshowadvice": true, "feedbackmessages": []}, "diagnostic": {"knowledge_graph": {"topics": [], "learning_objectives": []}, "script": "diagnosys", "customScript": ""}, "contributors": [{"name": "Blathnaid Sheridan", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/447/"}, {"name": "Paul Molloy", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/704/"}], "extensions": [], "custom_part_types": [], "resources": []}