Skip to content

Enriched and unified syntax for reduction strategies#85

Open
herbelin wants to merge 1 commit intorocq-prover:masterfrom
herbelin:unified-reduction-strategies
Open

Enriched and unified syntax for reduction strategies#85
herbelin wants to merge 1 commit intorocq-prover:masterfrom
herbelin:unified-reduction-strategies

Conversation

@herbelin
Copy link
Member

@herbelin herbelin commented Feb 9, 2024

In particular, the proposed syntax has:

  • pattern selection for all reductions
  • support for fine-tuning iota by enabling/disabling specific constructor names
  • support for referring to unfolding databases as in Added new CEP Symbol Sets #84

Rendered here.

red_expr ::= red_name pattern_opt flags_opt
red_name ::= "cbv" | "cbn" | "lazy" | "simpl"
pattern ::= CONSTR
flags ::= "with" head_flag_opt flag_list unfold_bases
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is head_flag separate? Is there something wrong with writing eg with beta head?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't remember if there was a technical reason or just because I was thinking at head as a modifier of a different nature than the flags.

flag ::= "beta" | "iota" | "zeta" | "match" | "fix" | "cofix" | "delta"
unfold_bases ::= "+" unfold_base signed_unfold_base_list | signed_unfold_base_list
signed_unfold_base ::= unfold_base | "-" unfold_base
unfold_base ::= "[" QUALID_list "]" | IDENT constraint_opt | module "(" QUALID ")"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this supposed to be

Suggested change
unfold_base ::= "[" QUALID_list "]" | IDENT constraint_opt | module "(" QUALID ")"
unfold_base ::= "[" QUALID_list "]" | IDENT constraint_opt | "module" "(" QUALID ")"

?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, the usual bad habit of starting a new branch on top of the previous one.

Co-authored-by: Gaëtan Gilbert <gaetan.gilbert@skyskimmer.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants