Newclid
Newclid geometric symbolic solver package
- class GeometricSolver(proof, rules, deductive_agent)
Bases:
object
External API for solving a geometric problem.
- animate(jgex_problem=None, theme=None)
- Return type:
FuncAnimation
- draw_figure(*, out_file=None, jgex_problem, theme=None)
- Return type:
tuple
[Figure
,Axes
]
- proof(goals_constructions=None)
- Return type:
str
- run()
- Return type:
bool
- write_all_outputs(out_folder_path, jgex_problem)
- class GeometricSolverBuilder(rng=None, api_default=None)
Bases:
object
Main entry point for building a geometric solver.
Adding or removing methods should be done with care as it represents the external API and should be stable.
- build(problem_setup)
Build a geometric solver with the current configuration on the given problem setup.
- Return type:
- with_deductive_agent(deductive_agent)
- Return type:
Self
- with_deductors(deductors)
- Return type:
Self
- with_rule_matcher(rule_matcher)
- Return type:
Self
- with_rules(rules)
- Return type:
Self
- with_rules_from_file(rules_path)
- Return type:
Self
- Agent
- Animation
- Deductors
ARReason
- Sympy Ar
- Algebraic Manipulator
- Ar Predicates
coll_expressions()
parallel_expressions()
enumerate_parallels()
perpendicular_expressions()
enumerate_perpendiculars()
aconst_expression()
enumerate_aconsts()
eqangle_expressions()
enumerate_eqangles()
cong_expressions()
enumerate_congs()
eqratio_expressions()
enumerate_eqratios()
constant_ratio_expressions()
enumerate_rconsts()
constant_length_expression()
enumerate_lconsts()
- Ar Table
- Table Angles
- Table Ratios
- Deductor Interface
- Draw
- Ar Application
- Figure
- Geometries
- Jgex Constructions
- Predicates
- Rule
- Theme
DrawTheme
DrawTheme.circle_color
DrawTheme.line_color
DrawTheme.triangle_color
DrawTheme.goal_color
DrawTheme.aux_point_color
DrawTheme.new_point_color
DrawTheme.construction_color
DrawTheme.point_color
DrawTheme.text_color
DrawTheme.perpendicular_color
DrawTheme.title_color
DrawTheme.thick_line_width
DrawTheme.thin_line_width
DrawTheme.model_config
fill_missing()
- Ggb
- Apply Commands Effects
- Assumptions From Commands
- Assumptions From Elements
- Assumptions From Elements Relation
- Elements Relationships
- Problem Builder
- Read Commands
read_commands()
GGBReadCommandType
GGBReadCommandType.Line
GGBReadCommandType.OrthogonalLine
GGBReadCommandType.Intersect
GGBReadCommandType.ParallelLine
GGBReadCommandType.Circle
GGBReadCommandType.AddPointOn
GGBReadCommandType.Eqdistance
GGBReadCommandType.Circumcircle
GGBReadCommandType.Segment
GGBReadCommandType.Center
GGBReadCommandType.Midpoint
GGBReadCommandType.AngularBisector
GGBReadCommandType.AngularBisectorPoints
GGBReadCommandType.TangentOnCircle
GGBReadCommandType.TangentOutsideCircle
GGBLineCommand
GGBParaCommand
GGBOrthogonalLineCommand
GGBIntersectCommand
GGBCircleCommand
GGBCircumcircleCommand
GGBCompassCommand
GGBAddPointOnObjectCommand
GGBCenterCommand
GGBMidpointCommand
GGBAngularBisectorLinesCommand
GGBAngularBisectorPointsCommand
GGBTangentOnCircleCommand
GGBTangentOutsideCircleCommand
GGBXMLCommandType
GGBXMLCommandComponents
- Read Elements
- Relationships From Commands
- Heuristics
- Jgex
- Constructions
- Angles
- Clause
- Definition
- Distances
- Errors
- Formulation
- Geometries
LENGTH_UNIT
JGEXPoint
JGEXPoint.x
JGEXPoint.y
JGEXPoint.angle()
JGEXPoint.close_enough()
JGEXPoint.distance()
JGEXPoint.distance2()
JGEXPoint.rot90()
JGEXPoint.rotatea()
JGEXPoint.rotate()
JGEXPoint.flip()
JGEXPoint.perpendicular_line()
JGEXPoint.foot()
JGEXPoint.parallel_line()
JGEXPoint.dot()
JGEXPoint.deduplicate()
JGEXPoint.intersect()
JGEXPoint.model_config
JGEXGeometry
JGEXLine
JGEXCircle
perpendicular_bisector()
solve_quad()
intersect()
circle_circle_intersection()
line_circle_intersection()
line_line_intersection()
reduce_intersection()
- Jgex Setup Data
- Problem Builder
- Sketch
sketch()
sketch_function_name()
sketch_aline()
sketch_aline0()
sketch_acircle()
sketch_amirror()
sketch_bisect()
sketch_exbisect()
sketch_bline()
sketch_dia()
sketch_tangent()
sketch_circle()
sketch_cc_tangent()
sketch_e5128()
random_rfss()
head_from()
sketch_eq_quadrangle()
sketch_iso_trapezoid()
sketch_eqangle2()
sketch_eqangle3()
sketch_eqdia_quadrangle()
random_points()
sketch_free()
sketch_isos()
sketch_line()
sketch_cyclic()
sketch_midp()
sketch_pentagon()
sketch_pline()
sketch_pmirror()
sketch_quadrangle()
sketch_r_trapezoid()
sketch_r_triangle()
sketch_rectangle()
sketch_reflect()
sketch_risos()
sketch_rotaten90()
sketch_rotatep90()
sketch_s_angle()
sketch_aconst()
sketch_segment()
sketch_shift()
sketch_square()
sketch_isquare()
sketch_tline()
sketch_trapezoid()
sketch_triangle()
sketch_triangle12()
sketch_trisect()
sketch_trisegment()
sketch_ieq_triangle()
sketch_incenter2()
sketch_excenter2()
sketch_centroid()
sketch_ninepoints()
sketch_2l1c()
sketch_3peq()
sketch_isosvertex()
sketch_eqratio()
sketch_rconst()
sketch_eqratio6()
sketch_lconst()
sketch_rconst2()
sketch_between()
sketch_between_bound()
sketch_iso_trapezoid2()
sketch_acute_triangle()
sketch_cc_itangent()
sketch_simtri()
sketch_simtrir()
sketch_contri()
sketch_contrir()
sketch_test_r20()
sketch_test_r25()
sketch_l2const()
sketch_r2const()
- To Newclid
- Justifications
- Numerical
close_enough()
nearly_zero()
sign()
- Check
- Geometries
PointNum
PointNum.x
PointNum.y
PointNum.angle()
PointNum.close_enough()
PointNum.distance()
PointNum.distance2()
PointNum.rot90()
PointNum.rotatea()
PointNum.rotate()
PointNum.flip()
PointNum.perpendicular_line()
PointNum.foot()
PointNum.parallel_line()
PointNum.dot()
PointNum.deduplicate()
PointNum.model_config
line_num_from_points()
LineNum
circle_num_from_points_around()
circle_num_from_center_and_point()
CircleNum
line_line_intersection()
- Predicates
predicate_class_from_type()
predicate_from_construction()
- Circumcenter
- Collinearity
- Congruence
- Constant Angle
- Constant Length
- Constant Ratio
- Cyclic
- Different
- Equal Angles
- Equal Ratios
- Equation Angle
- Equation Length
- Midpoint
- Obtuse Angle
- Parallelism
- Perpendicularity
- Pythagoras
- Sameclock
- Sameside
- Squared Constant Length
- Squared Constant Ratio
- Triangles Congruent
- Triangles Similar
- Problems
- Rule Matching
- Efficient Statement
efficient_version()
PerpStatement
PerpPredicate
ParaStatement
ParaPredicate
EqangleStatement
EqanglePredicate
EqratioStatement
EqratioPredicate
CongStatement
CongPredicate
MidptStatement
MidptPredicate
TriangleStatement
TrianglePredicate
CollStatement
CollPredicate
CircleStatement
CirclePredicate
CyclicStatement
CyclicPredicate
generate_permutations()
cyclic_perms()
coll_perms()
circle_perms()
triangle_perms()
normalize_triangle()
normalize_midpt()
midpt_perms()
normalize_cong()
cong_perms()
normalize_eqratio()
eqratio_perms()
normalize_eqangle()
eqangle_perms()
normalize_para()
para_perms()
normalize_perp()
perp_perms()
normalize_coll()
normalize_circle()
normalize_cyclic()
get_representative_of_equivalence_class()
- Interface
- Mapping Matcher
MappingMatcher
TheoremMapper
CCMapper
FilterMapper
predictates_by_type_name_from_hypergraph()
iterate_mapping_with_complementary_assignments()
PartialMapping
PartialMapping.lookup_dict
PartialMapping.valid_arg_permutations
PartialMapping.mapping_hash
PartialMapping.predicate_name
PartialMapping.predicates
PartialMapping.vars_to_assign
PartialMapping.partial_assignment
PartialMapping.permutation_idxs_compatible_with_partial_assignment
PartialMapping.with_assignment()
iterate_mappings()
- Permutations
- Efficient Statement
- Symbols
- All Rules
- Api
- Api Defaults
- Cli
- Llm Input
- Predicate Types
- Problem
- Proof Data
- Proof Justifications
- Proof State
- Proof Writing
- Rng
- Rule
- Run Loop
- Tools
- Webapp