Skip to content

Can't produce a object file #1041

@NotBad4U

Description

@NotBad4U

The file below can not produce a corresponding object file when I run the command:

lambdapi check -c Test.lp
Checking "/Users/alessiocoltellacci/Junk/foo/Test.lp" ...
Writing "/Users/alessiocoltellacci/Junk/foo/Test.lpo" ...
Uncaught [File "src/core/sign.ml", line 182, characters 16-22: Assertion failed].

Moreover, the proof goal is complete and I can have a lambda term.

File "src/core/sign.ml", line 182, characters 16-22: Assertion failed

The error comes from this assertion line. I do not understand which Meta term is blocking Lambdapi.

constant symbol Prop : TYPE;
builtin "Prop" ≔ Prop;
injective symbol π : Prop → TYPE; // `p
builtin "P" ≔ π;

constant symbol Set : TYPE;
injective symbol τ : Set → TYPE;
builtin "T" ≔ τ;

constant symbol ⊥ : Prop; // \bot

constant symbol ⇒ : Prop → Prop → Prop; notation ⇒ infix right 5; // =>
rule π ($p ⇒ $q) ↪ π $p → π $q;

symbol ¬ p ≔ p ⇒ ⊥; // ~~ or \neg
notation ¬ prefix 35;

constant symbol ∀ [a] : (τ a → Prop) → Prop; notation ∀ quantifier; // !! or \forall
rule π (∀ $f) ↪ Π x, π ($f x);

injective symbol πᶜ p ≔ π (¬ ¬ p);

symbol ∀ᶜ [a] p ≔ `∀ x : τ a, ¬ ¬ (p x); notation ∀ᶜ quantifier;

opaque symbol ∀ᶜᵢ p : (Π x, πᶜ (p x)) → πᶜ (∀ᶜ p) ≔
begin
  assume p Hnnpx Hnnnpx;
  apply Hnnnpx;
  assume x Hnnp;
  apply Hnnpx x;
  assume Hnp;
  apply Hnnp;
  apply Hnp;
end;

This issue is relative to my PR #13 for the Stdlib.
I am not sure if it is a bug or if I am doing something wrong. I would appreciate an explanation of how the gen-obj process works 😄 .

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions