'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 1:[1]

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.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1