prodigy.analysis.analyzer

condition_distribution(dist, error_prob, config)[source]
Parameters:
Return type:

tuple[Distribution, Distribution]

compute_discrete_distribution(program, dist, config, step_callback=None)[source]

Computes the output distribution of program for the input dist.

Parameters:
  • program (Program | ProgramInfo)

  • dist (Distribution)

  • config (ForwardAnalysisConfig)

  • step_callback (Callable[[SkipInstr | AbortInstr | WhileInstr | IfInstr | AsgnInstr | ChoiceInstr | LoopInstr | TickInstr | ObserveInstr | QueryInstr | ProbabilityQueryInstr | ExpectationInstr | PlotInstr | PrintInstr | OptimizationQuery, Distribution, Distribution], None] | None) – if given, called with (instruction, distribution, error_prob) after each top-level instruction.

Return type:

tuple[Distribution, Distribution]

compute_semantics(instruction, prog_info, distribution, error_prob, config=ForwardAnalysisConfig(show_intermediate_steps=False, step_wise=False, use_simplification=False, use_latex=False, engine=<Engine.SYMPY: 1>, normalize=True, strategy=<SynthesisStrategies.DEFAULT: <class 'prodigy.analysis.evtinvariants.heuristics.strategies.DefaultStrategy'>>, templ_heuristic=<TemplateHeuristics.DEFAULT: <class 'prodigy.analysis.evtinvariants.heuristics.templates.rational_function.RationalFunctionMaxDeg'>>, positivity_heuristic=<PositivityHeuristics.MIXED_RAT_FUNC: <class 'prodigy.analysis.evtinvariants.heuristics.positivity.rational_function.RationalFunctionDenomSign'>>, solver_type=<SolverType.SYMPY: <class 'prodigy.analysis.solver.sympy_solver.SympySolver'>>, show_all_invs=False))[source]
Parameters:
  • instruction (SkipInstr | AbortInstr | WhileInstr | IfInstr | AsgnInstr | ChoiceInstr | LoopInstr | TickInstr | ObserveInstr | QueryInstr | ProbabilityQueryInstr | ExpectationInstr | PlotInstr | PrintInstr | OptimizationQuery | Sequence[SkipInstr | AbortInstr | WhileInstr | IfInstr | AsgnInstr | ChoiceInstr | LoopInstr | TickInstr | ObserveInstr | QueryInstr | ProbabilityQueryInstr | ExpectationInstr | PlotInstr | PrintInstr | OptimizationQuery])

  • prog_info (ProgramInfo)

  • distribution (Distribution)

  • error_prob (Distribution)

Return type:

tuple[Distribution, Distribution]