Skip to content

Symmetrical simplification #33

@hferee

Description

@hferee

Currently, contextual_simp_form simplifies conjunctions in an asymmetrical way. Plan:

  • Fix The definition of contextual_simp_form:
| φ1 ∧ φ2 =>
    let ψ1 := choose_conj (contextual_simp_form Δ φ1) (contextual_simp_form (φ1 :: Δ) φ2) in
    let ψ2 := choose_conj (contextual_simp_form (φ2 :: Δ) φ1) (contextual_simp_form Δ φ2) in
    if decide (weight ψ1 ≤ weight ψ2) then ψ1 else ψ2
  • Change the definition of choose_conj to be symmetrical too (and much simpler ; currently uses Provable_dec)
  • prove choose_conj_topR (like choose_conj_topL)
  • fix the rest of the proofs
  • Check with benchmarks that this improves the simplifiying process overall

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions