Skip to content

Treat some arguments to a special function call, e.g. in So, to be a request to SMT-solver #301

@buzden

Description

@buzden

In a situation when we have some arguments a, b, c, ... given or already generated, some other arguments x, y, z, ... not yet generated and having a constructor argument So (f a b c ... x y z ...), if f contains, say, only particular type of arithmetic, we could ask SMT solver about x, y, z rather than generating them and after that checking for inhabitance of So ..., as we do now.

Something like

data X : Nat -> Nat -> Type where
  MkX : (a, b, x, y, z : Nat) -> So (x * a + y * b == z) -> X a b

genX : Fuel -> (a, b : Nat) -> Gen MaybeEmpty (X a b)
genX = deriveGen

Metadata

Metadata

Assignees

No one assigned

    Labels

    code: enhancementNew feature or improvementderive: least-effortRelates to the `LeastEffort` derivation algorithmissue: performanceWhen work takes too much resourcespart: derivationRelated to automated derivation of generatorspart: infra libsRelated to supporting data types and other definitionsstatus: feature requestRequest for new functionality or improvement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions