new Seg("A","B") AB new Seg("A","C") AC AD new Seg("A","F") AF new Seg("B","C") BC new Seg("B","D") BD new Seg("B","E") BE new Seg("C","E") CE new Seg("C","F") CF new Seg("D","E") DE new Seg("D","F") DF new Seg("E","F") EF [AB,BA,AC,CA,AD,DA,AF,FA,BC,CB,BD,DB,BE,EB,CE,EC,CF,FC,DE,ED,DF,FD,EF,FE] new Ang("B","A","C") new Ang("A","B","C") new Ang("A","C","B") new Ang("D","B","E") new Ang("E","B","C") new Ang("B","C","E") new Ang("E","C","F") new Ang("B","D","E") new Ang("B","E","D") new Ang("B","E","C") new Ang("C","E","F") new Ang("C","F","E") [ang1, ang2, ang3, ang4, ang5, ang6, ang7, ang8, ang9, ang10, ang11, ang12] [addAngs(ang2, addAngs(ang5, ang4)), addAngs(ang3, addAngs(ang6, ang7)), addAngs(ang9, addAngs(ang10,ang11))] [[ang5, ang9], [ang6, ang11]] new Triang([AB, BC, CA], [ang2, ang3, ang1]) new Triang([BD, DE, EB], [ang8, ang9, ang4]) new Triang([BC, CE, EB], [ang6, ang10, ang5]) new Triang([CE, EF, FC], [ang11, ang12, ang7]) new Triang([AD, DF, FA], [ang8, ang12, ang1]) [ABC, BDE, BCE, CEF] initProof(SEGS, ANGS, TRIANGLES, SUPPLEMENTARY_ANGS, ALTERNATE_INTERIOR_ANGS, 3, 0.25, "all") STATEMENTS[0] STATEMENTS[1] outputFillBlanksProof() FILL_BLANKS_STUFF[0] FILL_BLANKS_STUFF[1]

\overline{BC} is parallel to \overline{DF} . Figure not drawn to scale.

init({ range: [[-5, 5], [-5, 5]], scale: 40 }); addMouseLayer(); graph.congruency = addCongruency({ y1: -0.7, y2: 10.7 }); graph.congruency.addPoint("A", [0, 4]); graph.congruency.addPoint("B", [-2, 0]); graph.congruency.addPoint("C", [2, 0]); graph.congruency.addPoint("D", [-4, -4]); graph.congruency.addPoint("E", [0, -4]); graph.congruency.addPoint("F", [4, -4]); graph.congruency.addLine({ start: "A", end: "B", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "A", end: "C", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "A", end: "D", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "A", end: "F", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "B", end: "C", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "B", end: "D", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "B", end: "E", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "C", end: "E", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "C", end: "F", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "D", end: "E", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "D", end: "F", clickable: true, maxState: 3 }); graph.congruency.addLine({ start: "E", end: "F", clickable: true, maxState: 3 }); graph.congruency.addAngles("A", { maxState: 3 }); graph.congruency.addAngles("B", { maxState: 3 }); graph.congruency.addAngles("C", { maxState: 3 }); graph.congruency.addAngles("D", { maxState: 3 }); graph.congruency.addAngles("E", { maxState: 3 }); graph.congruency.addAngles("F", { maxState: 3 }); graph.congruency.addAngle("BAC", { maxState: 3 }); graph.congruency.addAngle("EDB", { maxState: 3 }); graph.congruency.addAngle("CFE", { maxState: 3 }); for(var angle in graph.congruency.angles){ graph.congruency.angles[angle].setSelectedStyle({ stroke: "black", "stroke-width": 3 }); } graph.congruency.addLabel("A", "above"); graph.congruency.addLabel("B", "left"); graph.congruency.addLabel("C", "right"); graph.congruency.addLabel("D", "below"); graph.congruency.addLabel("E", "below"); graph.congruency.addLabel("F", "below"); var hintsLeft = FILL_BLANKS_NUM*2; $(".missingStatement").keyup(function(){ if(checkFillBlanksStatement($(this).parent()[0].id)){ FILL_BLANKS_NUM--; if(hintsLeft > FILL_BLANKS_NUM*2){ var stepsLeft = FILL_BLANKS_NUM*2 + " step" + (FILL_BLANKS_NUM === 1 ? "" : "s") + " left"; $("#hint").val("I'd like a hint (" + stepsLeft + ")"); giveAway = false; hintsLeft = FILL_BLANKS_NUM*2; if(hintsLeft === 0){ $("#hint").attr("disabled", true); } } } }); $(".missingReason").change(function(){ if(checkFillBlanksReason($(this), this.id)){ FILL_BLANKS_NUM--; if(hintsLeft > FILL_BLANKS_NUM*2){ var stepsLeft = FILL_BLANKS_NUM*2 + " step" + (FILL_BLANKS_NUM === 1 ? "" : "s") + " left"; $("#hint").val("I'd like a hint (" + stepsLeft + ")"); giveAway = false; hintsLeft = FILL_BLANKS_NUM*2; if(hintsLeft === 0){ $("#hint").attr("disabled", true); } } } }); var giveAway = false; $("#hint").click(function(){ if(hintsLeft > 0){ hintsLeft--; if(!giveAway){ var stepsLeft = hintsLeft + " step" + (FILL_BLANKS_NUM === 1 ? "" : "s") + " left"; $(this).val("I'd like a hint (" + stepsLeft + ")"); $(this).attr("disabled", false); $(".actualHints").append("<p>"+getFillBlanksHint(false)+"</p>"); _.each($(".actualHints code"), function(tag){ $.tmpl.type.code()(tag); }); giveAway = true; } else{ var stepsLeft = hintsLeft + " step" + (FILL_BLANKS_NUM === 1 ? "" : "s") + " left"; $(this).val("I'd like a hint (" + stepsLeft + ")"); $(this).attr("disabled", false); $(".actualHints").append("<p>"+getFillBlanksHint(true)+"</p>"); _.each($(".actualHints code"), function(tag){ $.tmpl.type.code()(tag); }); giveAway = false; } if(hintsLeft === 0){ $("#hint").attr("disabled", true); } } }); for(var line in graph.congruency.lines){ for(var line2 in graph.congruency.lines){ (function() { var $statement = $("."+line+"-"+line2); var firstLine = graph.congruency.lines[line]; var secondLine = graph.congruency.lines[line2]; if($statement.length > 0){ $statement.live("vmouseover", function(event) { firstLine.setHighlighted({ stroke: ORANGE, "stroke-width": 3 }); secondLine.setHighlighted({ stroke: BLUE, "stroke-width": 3 }); $(this).bind("vmouseout", function(event) { firstLine.unsetHighlighted({ stroke: "black", "stroke-width": 2 }); secondLine.unsetHighlighted({ stroke: "black", "stroke-width": 2 }); }); }); secondLine.unsetHighlighted({ stroke: "black", "stroke-width": 2 }); } })(); } } for(var angle in graph.congruency.angles){ for(var angle2 in graph.congruency.angles){ (function(){ var $statement = $("."+angle+"-"+angle2); var firstAngle = graph.congruency.angles[angle]; var secondAngle = graph.congruency.angles[angle2]; if($statement.length > 0){ $statement.live("vmouseover", function(event) { var firstState = firstAngle.state; var secondState = secondAngle.state; var maxState = Math.max(firstState,secondState); firstAngle.setHighlighted({ stroke: ORANGE, "stroke-width": 3 }); secondAngle.setHighlighted({ stroke: BLUE, "stroke-width": 3 }); firstAngle.setState(maxState > 0 ? maxState : 1); secondAngle.setState(maxState > 0 ? maxState : 1); $(this).bind("vmouseout", function(event) { firstAngle.unsetHighlighted({ stroke: "black", "stroke-width": 2 }); secondAngle.unsetHighlighted({ stroke: "black", "stroke-width": 2 }); firstAngle.setState(firstState); secondAngle.setState(secondState); }); }); } })(); } } for(var line in graph.congruency.lines){ (function(){ var $statements = $("."+line); for(var i = 0; i<$statements.length; i++){ var highlightLine = graph.congruency.lines[line]; var highlightDiv = $($statements[i]); highlightDiv.live("vmouseover", function(event) { highlightLine.setHighlighted({ stroke: ORANGE, "stroke-width": 3 }); $(this).bind("vmouseout", function(event) { highlightLine.unsetHighlighted({ stroke: "black", "stroke-width": 2 }); }); }); } })(); } for(var line in graph.congruency.lines){ (function(){ var $statements = $("."+line + "2"); for(var i = 0; i<$statements.length; i++){ var highlightLine = graph.congruency.lines[line]; var highlightDiv = $($statements[i]); highlightDiv.live("vmouseover", function(event) { highlightLine.setHighlighted({ stroke: BLUE, "stroke-width": 3 }); $(this).bind("vmouseout", function(event) { highlightLine.unsetHighlighted({ stroke: "black", "stroke-width": 2 }); }); }); } })(); }
FILL_BLANKS_PROOF
Fill in the blanks in this proof that FINISHED .
1
return FILL_BLANKS_NUM==0;
outputKnownProof();