{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE EmptyCase #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}

{-# OPTIONS_GHC -Wno-overlapping-patterns #-}

module MAlonzo.Code.Reflection.Argument.Modality where

import MAlonzo.RTE (coe, erased, AgdaAny, addInt, subInt, mulInt,
                    quotInt, remInt, geqInt, ltInt, eqInt, add64, sub64, mul64, quot64,
                    rem64, lt64, eq64, word64FromNat, word64ToNat)
import qualified MAlonzo.RTE
import qualified Data.Text
import qualified MAlonzo.Code.Agda.Builtin.Equality
import qualified MAlonzo.Code.Agda.Builtin.Reflection
import qualified MAlonzo.Code.Agda.Builtin.Sigma
import qualified MAlonzo.Code.Data.Product
import qualified MAlonzo.Code.Reflection.Argument.QQuantity
import qualified MAlonzo.Code.Reflection.Argument.Relevance
import qualified MAlonzo.Code.Relation.Nullary
import qualified MAlonzo.Code.Relation.Nullary.Decidable.Core
import qualified MAlonzo.Code.Relation.Nullary.Product

-- Reflection.Argument.Modality.relevance
d_relevance_14 ::
  MAlonzo.Code.Agda.Builtin.Reflection.T_Modality_68 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Relevance_56
d_relevance_14 :: T_Modality_68 -> T_Relevance_56
d_relevance_14 T_Modality_68
v0
  = case T_Modality_68 -> T_Modality_68
forall a b. a -> b
coe T_Modality_68
v0 of
      MAlonzo.Code.Agda.Builtin.Reflection.C_modality_74 T_Relevance_56
v1 T_Quantity_62
v2 -> T_Relevance_56 -> T_Relevance_56
forall a b. a -> b
coe T_Relevance_56
v1
      T_Modality_68
_ -> T_Relevance_56
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Reflection.Argument.Modality.quantity
d_quantity_18 ::
  MAlonzo.Code.Agda.Builtin.Reflection.T_Modality_68 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Quantity_62
d_quantity_18 :: T_Modality_68 -> T_Quantity_62
d_quantity_18 T_Modality_68
v0
  = case T_Modality_68 -> T_Modality_68
forall a b. a -> b
coe T_Modality_68
v0 of
      MAlonzo.Code.Agda.Builtin.Reflection.C_modality_74 T_Relevance_56
v1 T_Quantity_62
v2 -> T_Quantity_62 -> T_Quantity_62
forall a b. a -> b
coe T_Quantity_62
v2
      T_Modality_68
_ -> T_Quantity_62
forall a. a
MAlonzo.RTE.mazUnreachableError
-- Reflection.Argument.Modality.modality-injective₁
d_modality'45'injective'8321'_22 ::
  MAlonzo.Code.Agda.Builtin.Reflection.T_Relevance_56 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Quantity_62 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Relevance_56 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Quantity_62 ->
  MAlonzo.Code.Agda.Builtin.Equality.T__'8801'__12 ->
  MAlonzo.Code.Agda.Builtin.Equality.T__'8801'__12
d_modality'45'injective'8321'_22 :: T_Relevance_56
-> T_Quantity_62
-> T_Relevance_56
-> T_Quantity_62
-> T__'8801'__12
-> T__'8801'__12
d_modality'45'injective'8321'_22 = T_Relevance_56
-> T_Quantity_62
-> T_Relevance_56
-> T_Quantity_62
-> T__'8801'__12
-> T__'8801'__12
forall a. a
erased
-- Reflection.Argument.Modality.modality-injective₂
d_modality'45'injective'8322'_24 ::
  MAlonzo.Code.Agda.Builtin.Reflection.T_Relevance_56 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Quantity_62 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Relevance_56 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Quantity_62 ->
  MAlonzo.Code.Agda.Builtin.Equality.T__'8801'__12 ->
  MAlonzo.Code.Agda.Builtin.Equality.T__'8801'__12
d_modality'45'injective'8322'_24 :: T_Relevance_56
-> T_Quantity_62
-> T_Relevance_56
-> T_Quantity_62
-> T__'8801'__12
-> T__'8801'__12
d_modality'45'injective'8322'_24 = T_Relevance_56
-> T_Quantity_62
-> T_Relevance_56
-> T_Quantity_62
-> T__'8801'__12
-> T__'8801'__12
forall a. a
erased
-- Reflection.Argument.Modality.modality-injective
d_modality'45'injective_26 ::
  MAlonzo.Code.Agda.Builtin.Reflection.T_Relevance_56 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Quantity_62 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Relevance_56 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Quantity_62 ->
  MAlonzo.Code.Agda.Builtin.Equality.T__'8801'__12 ->
  MAlonzo.Code.Agda.Builtin.Sigma.T_Σ_14
d_modality'45'injective_26 :: T_Relevance_56
-> T_Quantity_62
-> T_Relevance_56
-> T_Quantity_62
-> T__'8801'__12
-> T_Σ_14
d_modality'45'injective_26 ~T_Relevance_56
v0 ~T_Quantity_62
v1 ~T_Relevance_56
v2 ~T_Quantity_62
v3
  = T__'8801'__12 -> T_Σ_14
du_modality'45'injective_26
du_modality'45'injective_26 ::
  MAlonzo.Code.Agda.Builtin.Equality.T__'8801'__12 ->
  MAlonzo.Code.Agda.Builtin.Sigma.T_Σ_14
du_modality'45'injective_26 :: T__'8801'__12 -> T_Σ_14
du_modality'45'injective_26
  = ((Any -> Any) -> (Any -> Any) -> Any -> T_Σ_14)
-> Any -> Any -> T__'8801'__12 -> T_Σ_14
forall a b. a -> b
coe (Any -> Any) -> (Any -> Any) -> Any -> T_Σ_14
MAlonzo.Code.Data.Product.du_'60'_'44'_'62'_132 Any
forall a. a
erased Any
forall a. a
erased
-- Reflection.Argument.Modality._≟_
d__'8799'__28 ::
  MAlonzo.Code.Agda.Builtin.Reflection.T_Modality_68 ->
  MAlonzo.Code.Agda.Builtin.Reflection.T_Modality_68 ->
  MAlonzo.Code.Relation.Nullary.T_Dec_32
d__'8799'__28 :: T_Modality_68 -> T_Modality_68 -> T_Dec_32
d__'8799'__28 T_Modality_68
v0 T_Modality_68
v1
  = case T_Modality_68 -> T_Modality_68
forall a b. a -> b
coe T_Modality_68
v0 of
      MAlonzo.Code.Agda.Builtin.Reflection.C_modality_74 T_Relevance_56
v2 T_Quantity_62
v3
        -> case T_Modality_68 -> T_Modality_68
forall a b. a -> b
coe T_Modality_68
v1 of
             MAlonzo.Code.Agda.Builtin.Reflection.C_modality_74 T_Relevance_56
v4 T_Quantity_62
v5
               -> ((Any -> Any) -> T_Dec_32 -> T_Dec_32) -> Any -> Any -> T_Dec_32
forall a b. a -> b
coe
                    (Any -> Any) -> T_Dec_32 -> T_Dec_32
MAlonzo.Code.Relation.Nullary.Decidable.Core.du_map'8242'_168
                    (((Any -> Any -> Any) -> T_Σ_14 -> Any) -> Any -> Any
forall a b. a -> b
coe (Any -> Any -> Any) -> T_Σ_14 -> Any
MAlonzo.Code.Data.Product.du_uncurry_264 Any
forall a. a
erased)
                    ((T_Dec_32 -> T_Dec_32 -> T_Dec_32) -> Any -> Any -> Any
forall a b. a -> b
coe
                       T_Dec_32 -> T_Dec_32 -> T_Dec_32
MAlonzo.Code.Relation.Nullary.Product.du__'215''45'dec__30
                       ((T_Relevance_56 -> T_Relevance_56 -> T_Dec_32) -> Any -> Any -> Any
forall a b. a -> b
coe
                          T_Relevance_56 -> T_Relevance_56 -> T_Dec_32
MAlonzo.Code.Reflection.Argument.Relevance.d__'8799'__6 (T_Relevance_56 -> Any
forall a b. a -> b
coe T_Relevance_56
v2)
                          (T_Relevance_56 -> Any
forall a b. a -> b
coe T_Relevance_56
v4))
                       ((T_Quantity_62 -> T_Quantity_62 -> T_Dec_32) -> Any -> Any -> Any
forall a b. a -> b
coe
                          T_Quantity_62 -> T_Quantity_62 -> T_Dec_32
MAlonzo.Code.Reflection.Argument.QQuantity.d__'8799'__6 (T_Quantity_62 -> Any
forall a b. a -> b
coe T_Quantity_62
v3)
                          (T_Quantity_62 -> Any
forall a b. a -> b
coe T_Quantity_62
v5)))
             T_Modality_68
_ -> T_Dec_32
forall a. a
MAlonzo.RTE.mazUnreachableError
      T_Modality_68
_ -> T_Dec_32
forall a. a
MAlonzo.RTE.mazUnreachableError