Search code examples
importagdaagda-stdlib

Need help converting number to string in Agda


New to Agda. I want a way to obtain some output from the code, so I am looking for a way to print numbers. Found a function in the standard library but I am unable to import it. I get the following:

Unsolved metas at the following locations:
  /home/user/agda-stdlib-1.7/src/Data/List/Relation/Unary/Any/Properties.agda:100,17-18
  /home/user/agda-stdlib-1.7/src/Data/List/Relation/Unary/Any/Properties.agda:105,16-17
  /home/user/agda-stdlib-1.7/src/Data/List/Relation/Unary/Any/Properties.agda:105,28-29
when scope checking the declaration
  open import Data.List.Relation.Unary.Any.Properties

Failed to solve the following constraints:
  Check definition of to∘from : {P.A.a : Level} {P.A : Set P.A.a}
                                {P.p : Level} {P = P₁ : Pred P.A P.p} {Q.A.a : Level}
                                {Q.A : Set Q.A.a} {Q.p : Level} {Q = Q₁ : Pred Q.A Q.p}
                                {xs = xs₁ : List P.A} {ys = ys₁ : List Q.A}
                                (pq
                                 : Any (λ x → Any (λ y → Prod.Σ (P₁ x) (λ x₁ → Q₁ y)) ys₁) xs₁) →
                                Any-×⁺ (Any-×⁻ pq) ≡ pq
    stuck because
      /home/user/agda-stdlib-1.7/src/Data/List/Relation/Unary/Any/Properties.agda:266,3-34
      I'm not sure if there should be a case for the constructor refl,
      because I get stuck when trying to solve the following unification
      problems (inferred index ≟ expected index):
        lhs ≟ Any.map
              (λ x →
                 Any.map (λ q → P.subst P x p , q)
                 (Any.map
                  (λ x₁ →
                     P.subst Q x₁
                     (_5474 (x = x₂) (pq′ = pq′) (y = y) (y∈ys = y∈ys) (p = p) (q = q)
                      (lem₂ = lem₂) (pq = pq) (x∈xs = x∈xs) (lem₁ = lem₁)
                      (p = (P.subst P x p))))
                  y∈ys))
              x∈xs
      when checking that the pattern refl has type
      lhs ≡.map(λ x →
         Any.map (λ q → P.subst P x p , q)
         (Any.map
          (λ x₁ →
             P.subst Q x₁
             (_5474 (x = x₂) (pq′ = pq′) (y = y) (y∈ys = y∈ys) (p = p) (q = q)
              (lem₂ = lem₂) (pq = pq) (x∈xs = x∈xs) (lem₁ = lem₁)
              (p = (P.subst P x p))))
          y∈ys))
      x∈xs
    (blocked on any(_Q.p_474, _P.p_475))
when scope checking the declaration
  open import Data.List.Relation.Unary.Any.Properties

Any help? :)

Solution

  • The issue says that there is an unfilled hole in the file

    Data/List/Relation/Unary/Any/Properties.agda
    

    This is a file from the standard library, so there are two possible reasons for that:

    • You somehow modified this file, which seems unlikely
    • You cloned the development version of agda-stdlib repository and did not checkout a release tag

    Assuming this is the second option, you need to go into your agda-stdlib folder and issue the following commands:

    git fetch --all --tags
    git checkout tags/v1.7.1
    

    Once this is done, you should be able to import Data.Nat.Show and use the functions inside that module, as from any other module.