Equal Ratios

class EqRatio

Bases: Predicate

eqratio AB CD EF GH -

Represent that AB/CD=EF/GH, as ratios between lengths of segments.

NAME: str = 'eqratio'
classmethod preparse(args)
classmethod parse(args, dep_graph)
classmethod check_numerical(statement)
Return type:

bool

classmethod add(dep)
Return type:

None

classmethod why(statement)

Hypothesis : the numercial test is passed This function should only be giving one same dependency, which is the implicit dependency used in the first check success.

Return type:

Dependency

classmethod check(statement)

Hypothesis : the numercial test is passed

Return type:

bool

classmethod to_tokens(args)
Return type:

tuple[str, ...]

classmethod pretty(statement)

Write the predicate in a natural language.

Return type:

str

class EqRatio3

Bases: Predicate

eqratio AB CD MN -

Represent three eqratios through a list of 6 points (due to parallel lines). It can be viewed as in an instance of Thales theorem which has AB // MN // CD.

It thus represent the corresponding eqratios: MA / MC = NB / ND and AM / AC = BN / BD and MC / AC = ND / BD

  a -- b
 m ---- n
c ------ d
NAME: str = 'eqratio3'
classmethod preparse(args)
classmethod parse(args, dep_graph)
classmethod check_numerical(statement)
Return type:

bool

classmethod check(statement)

Hypothesis : the numercial test is passed

Return type:

bool

classmethod add(dep)