Newclid
Newclid geometric symbolic solver package
- class GeometricSolver(proof, rules, deductive_agent)
Bases:
objectExternal 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:
objectMain 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
DrawThemeDrawTheme.circle_colorDrawTheme.line_colorDrawTheme.triangle_colorDrawTheme.goal_colorDrawTheme.aux_point_colorDrawTheme.new_point_colorDrawTheme.construction_colorDrawTheme.point_colorDrawTheme.text_colorDrawTheme.perpendicular_colorDrawTheme.title_colorDrawTheme.thick_line_widthDrawTheme.thin_line_widthDrawTheme.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()GGBReadCommandTypeGGBReadCommandType.LineGGBReadCommandType.OrthogonalLineGGBReadCommandType.IntersectGGBReadCommandType.ParallelLineGGBReadCommandType.CircleGGBReadCommandType.AddPointOnGGBReadCommandType.EqdistanceGGBReadCommandType.CircumcircleGGBReadCommandType.SegmentGGBReadCommandType.CenterGGBReadCommandType.MidpointGGBReadCommandType.AngularBisectorGGBReadCommandType.AngularBisectorPointsGGBReadCommandType.TangentOnCircleGGBReadCommandType.TangentOutsideCircle
GGBLineCommandGGBParaCommandGGBOrthogonalLineCommandGGBIntersectCommandGGBCircleCommandGGBCircumcircleCommandGGBCompassCommandGGBAddPointOnObjectCommandGGBCenterCommandGGBMidpointCommandGGBAngularBisectorLinesCommandGGBAngularBisectorPointsCommandGGBTangentOnCircleCommandGGBTangentOutsideCircleCommandGGBXMLCommandTypeGGBXMLCommandComponents
- Read Elements
- Relationships From Commands
- Heuristics
- Jgex
- Constructions
- Angles
- Clause
- Definition
- Distances
- Errors
- Formulation
- Geometries
LENGTH_UNITJGEXPointJGEXPoint.xJGEXPoint.yJGEXPoint.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
JGEXGeometryJGEXLineJGEXCircleperpendicular_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
PointNumPointNum.xPointNum.yPointNum.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()LineNumcircle_num_from_points_around()circle_num_from_center_and_point()CircleNumline_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()PerpStatementPerpPredicateParaStatementParaPredicateEqangleStatementEqanglePredicateEqratioStatementEqratioPredicateCongStatementCongPredicateMidptStatementMidptPredicateTriangleStatementTrianglePredicateCollStatementCollPredicateCircleStatementCirclePredicateCyclicStatementCyclicPredicategenerate_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
MappingMatcherTheoremMapperCCMapperFilterMapperpredictates_by_type_name_from_hypergraph()iterate_mapping_with_complementary_assignments()PartialMappingPartialMapping.lookup_dictPartialMapping.valid_arg_permutationsPartialMapping.mapping_hashPartialMapping.predicate_namePartialMapping.predicatesPartialMapping.vars_to_assignPartialMapping.partial_assignmentPartialMapping.permutation_idxs_compatible_with_partial_assignmentPartialMapping.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