# data[].attributes.body
If 2 angles are congruent and supplementary, then each is a right angle

# data[].attributes.body
All right angles are congruent

# data[].attributes.body
If 2 angles are complements of the same angle (or of congruent angles), then the 2 angles are congruent

# data[].attributes.body
If 2 angles are supplements of the same angle (or of congruent angles), then the 2 angles are congruent

# data[].attributes.headline
paragraph proof: sentences in a paragraph that shows the logical steps in solving a problem with statements and reasons

# data[].attributes.subject
paragraph proof: sentences in a paragraph that shows the logical steps in solving a problem with statements and reasons

# data[].attributes.body
Vertical angles are congruent

# data[].attributes.headline
theorem: a conjecture or statement that one proves true

# data[].attributes.subject
theorem: a conjecture or statement that one proves true

# data[].attributes.headline
two-column proof: lists each statement on the left and justification for each statement on the right

# data[].attributes.subject
two-column proof: lists each statement on the left and justification for each statement on the right

# data[].attributes.headline
proof: a convincing argument that uses deductive reasoning and shows why a conjecture is true

# data[].attributes.subject
proof: a convincing argument that uses deductive reasoning and shows why a conjecture is true

# data[].attributes.headline
properties of congruence: reflexive property, symmetric property, and transitive property

# data[].attributes.subject
properties of congruence: reflexive property, symmetric property, and transitive property

# data[].attributes.body
Use multiplication to distribute a to each term of the sum or difference within the parentheses

# data[].attributes.headline
substitution property: if a = b, then b can replace a in any expression

# data[].attributes.subject
substitution property: if a = b, then b can replace a in any expression

# data[].attributes.headline
transitive property: if a = b and b = c, then a = c

# data[].attributes.subject
transitive property: if a = b and b = c, then a = c

# data[].attributes.headline
symmetric property: if a = b, then b = a

# data[].attributes.subject
symmetric property: if a = b, then b = a

# data[].attributes.headline
division property: if a = b and c does not = 0, then a/c = b/c

# data[].attributes.subject
division property: if a = b and c does not = 0, then a/c = b/c

# data[].attributes.headline
multiplication property: if a = b, then a*c = b*c

# data[].attributes.subject
multiplication property: if a = b, then a*c = b*c

# data[].attributes.headline
subtraction property: if a = b, then a-c = b-c

# data[].attributes.subject
subtraction property: if a = b, then a-c = b-c

# data[].attributes.headline
addition property: if a = b, then a+c = b+c

# data[].attributes.subject
addition property: if a = b, then a+c = b+c

# data[].attributes.body
Allows one to state a conclusion from the 2 true conditional statements when the conclusion of one statement is the hypothesis of the other statement

# data[].attributes.body
If the hypothesis of a true conditional is true, then the conclusion is true

# data[].attributes.headline
deductive reasoning: the process of reasoning logically from given statements or facts to a conclusion

# data[].attributes.subject
deductive reasoning: the process of reasoning logically from given statements or facts to a conclusion

# data[].attributes.headline
biconditional: a single true statement that combines a true conditional and its true converse (used 2 parts of each conditional with the phrase if and only if)

# data[].attributes.subject
biconditional: a single true statement that combines a true conditional and its true converse (used 2 parts of each conditional with the phrase if and only if)

# data[].attributes.headline
equivalent statements: statements of the same truth value

# data[].attributes.subject
equivalent statements: statements of the same truth value

# data[].attributes.headline
contrapositive: negate both the hypothesis and the conclusion of the converse

# data[].attributes.subject
contrapositive: negate both the hypothesis and the conclusion of the converse

# data[].attributes.headline
inverse: negate both the hypothesis and the conclusion of the conditional

# data[].attributes.subject
inverse: negate both the hypothesis and the conclusion of the conditional

# data[].attributes.headline
converse: exchange the hypothesis and the conclusion

# data[].attributes.subject
converse: exchange the hypothesis and the conclusion

# data[].attributes.headline
negation: the opposite of the statement represented with -p or "not p"

# data[].attributes.subject
negation: the opposite of the statement represented with -p or "not p"

# data[].attributes.headline
truth value: true or false of a conditional

# data[].attributes.subject
truth value: true or false of a conditional

# data[].attributes.headline
counterexample: an example that shows that a conjecture is incorrect

# data[].attributes.subject
counterexample: an example that shows that a conjecture is incorrect

# data[].attributes.headline
conjecture: a conclusion one reaches using inductive reasoning

# data[].attributes.subject
conjecture: a conclusion one reaches using inductive reasoning

# data[].attributes.headline
inductive reasoning: reasoning based on patterns one observes

# data[].attributes.subject
inductive reasoning: reasoning based on patterns one observes