Warning: <standard input>, line 12 (fmod BAR): importation of fmod FOO by fmod
    BAR not allowed because the pseudo-parameter X of fmod FOO would be
    captured by an actual parameter of fmod BAR.
Warning: In module instantiation BAR{[X]}, parameter X clashes with a
    pseudo-parameter of BAR.
Warning: <standard input>, line 26 (fmod BAZ): this module contains one or more
    errors that could not be patched up and thus it cannot be used or imported.
Warning: <automatic>: importation of fmod FOO * (sort Foo{X} to Foo{Y}) by fmod
    BAR{[Y]} * (sort Foo{X} to Foo{Y}) not allowed because the pseudo-parameter
    Y of fmod FOO * (sort Foo{X} to Foo{Y}) would be captured by an actual
    parameter of fmod BAR{[Y]} * (sort Foo{X} to Foo{Y}).
Warning: <automatic>: importation of fmod FOO * (sort Foo{X} to Foo{Z}) by fmod
    BAR{[Z]} * (sort Foo{X} to Foo{Z}) not allowed because the pseudo-parameter
    Z of fmod FOO * (sort Foo{X} to Foo{Z}) would be captured by an actual
    parameter of fmod BAR{[Z]} * (sort Foo{X} to Foo{Z}).
Warning: <standard input>, line 47 (fmod BAR): importation of fmod FOO by fmod
    BAR not allowed because the pseudo-parameter X of fmod FOO would be
    captured by an actual parameter of fmod BAR.
Warning: <standard input>, line 48 (fmod BAR): undeclared sort Foo{X}.
Warning: In module instantiation FOO{[X]}, parameter X clashes with a
    pseudo-parameter of FOO.
Warning: <standard input>, line 61 (fmod BAR): this module contains one or more
    errors that could not be patched up and thus it cannot be used or imported.
Warning: <standard input>, line 68 (fmod BAZ): unable to use module BAR due to
    unpatchable errors.
Warning: <standard input>, line 67 (fmod BAZ): this module contains one or more
    errors that could not be patched up and thus it cannot be used or imported.
Warning: In module instantiation FOO{[X]}, parameter X clashes with a
    pseudo-parameter of FOO.
Warning: <standard input>, line 82 (fmod BAR): unusable view V.
Warning: <standard input>, line 81 (fmod BAR): this module contains one or more
    errors that could not be patched up and thus it cannot be used or imported.
Warning: In module instantiation FOO{V{[X]}}, argument view V{[X]} has a bound
    parameter X that clashes with a pseudo-parameter of FOO.
Warning: <standard input>, line 99 (fmod BAR): this module contains one or more
    errors that could not be patched up and thus it cannot be used or imported.
Warning: <standard input>, line 105 (fmod BAZ): unable to use module BAR due to
    unpatchable errors.
Warning: <standard input>, line 104 (fmod BAZ): this module contains one or
    more errors that could not be patched up and thus it cannot be used or
    imported.
Warning: In module instantiation FOO{V{V2{[X]}}}, argument view V{V2{[X]}} has
    a bound parameter X that clashes with a pseudo-parameter of FOO.
Warning: <standard input>, line 130 (fmod BAR): this module contains one or
    more errors that could not be patched up and thus it cannot be used or
    imported.
Warning: <standard input>, line 136 (fmod BAZ): unable to use module BAR due to
    unpatchable errors.
Warning: <standard input>, line 135 (fmod BAZ): this module contains one or
    more errors that could not be patched up and thus it cannot be used or
    imported.
Warning: <standard input>, line 146 (fmod BAR): importation of fmod FOO{[X]} by
    fmod BAR not allowed because the pseudo-parameter Y of fmod FOO{[X]} would
    be captured by an actual parameter of fmod BAR.
Warning: <standard input>, line 148 (fmod BAR): undeclared sort Foo{X,Y}.
fmod BAZ is
  sorts Bool Zero NzNat Nat Bar{Nat,Nat} Foo{Nat,Nat} .
  subsorts Zero NzNat < Nat .
  subsort Bar{Nat,Nat} < Foo{Nat,Nat} .
  op if_then_else_fi : Bool Universal Universal -> Universal [poly (2 3 0) prec
    0 gather (& & &) special (
    id-hook BranchSymbol
    term-hook 1 (true)
    term-hook 2 (false))] .
  op _==_ : Universal Universal -> Bool [poly (1 2) prec 51 gather (E E)
    special (
    id-hook EqualitySymbol
    term-hook equalTerm (true)
    term-hook notEqualTerm (false))] .
  op _=/=_ : Universal Universal -> Bool [poly (1 2) prec 51 gather (E E)
    special (
    id-hook EqualitySymbol
    term-hook equalTerm (false)
    term-hook notEqualTerm (true))] .
  op true : -> Bool [ctor special (
    id-hook SystemTrue)] .
  op false : -> Bool [ctor special (
    id-hook SystemFalse)] .
  op _and_ : Bool Bool -> Bool [assoc comm prec 55 gather (e E)] .
  op _or_ : Bool Bool -> Bool [assoc comm prec 59 gather (e E)] .
  op _xor_ : Bool Bool -> Bool [assoc comm prec 57 gather (e E)] .
  op not_ : Bool -> Bool [prec 53 gather (E)] .
  op _implies_ : Bool Bool -> Bool [prec 61 gather (e E)] .
  op 0 : -> Zero [ctor] .
  op s_ : Nat -> NzNat [ctor iter prec 15 gather (E) special (
    id-hook SuccSymbol
    term-hook zeroTerm (0))] .
  op _+_ : NzNat Nat -> NzNat [assoc comm prec 33 gather (e E) special (
    id-hook ACU_NumberOpSymbol (+)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _+_ : Nat Nat -> Nat [assoc comm prec 33 gather (e E) special (
    id-hook ACU_NumberOpSymbol (+)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op sd : Nat Nat -> Nat [comm special (
    id-hook CUI_NumberOpSymbol (sd)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _*_ : NzNat NzNat -> NzNat [assoc comm prec 31 gather (e E) special (
    id-hook ACU_NumberOpSymbol (*)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _*_ : Nat Nat -> Nat [assoc comm prec 31 gather (e E) special (
    id-hook ACU_NumberOpSymbol (*)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _quo_ : Nat NzNat -> Nat [prec 31 gather (E e) special (
    id-hook NumberOpSymbol (quo)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _rem_ : Nat NzNat -> Nat [prec 31 gather (E e) special (
    id-hook NumberOpSymbol (rem)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _^_ : Nat Nat -> Nat [prec 29 gather (E e) special (
    id-hook NumberOpSymbol (^)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _^_ : NzNat Nat -> NzNat [prec 29 gather (E e) special (
    id-hook NumberOpSymbol (^)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op modExp : [Nat] [Nat] [Nat] -> [Nat] [special (
    id-hook NumberOpSymbol (modExp)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op gcd : NzNat Nat -> NzNat [assoc comm special (
    id-hook ACU_NumberOpSymbol (gcd)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op gcd : Nat Nat -> Nat [assoc comm special (
    id-hook ACU_NumberOpSymbol (gcd)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op lcm : NzNat NzNat -> NzNat [assoc comm special (
    id-hook ACU_NumberOpSymbol (lcm)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op lcm : Nat Nat -> Nat [assoc comm special (
    id-hook ACU_NumberOpSymbol (lcm)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op min : NzNat NzNat -> NzNat [assoc comm special (
    id-hook ACU_NumberOpSymbol (min)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op min : Nat Nat -> Nat [assoc comm special (
    id-hook ACU_NumberOpSymbol (min)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op max : NzNat Nat -> NzNat [assoc comm special (
    id-hook ACU_NumberOpSymbol (max)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op max : Nat Nat -> Nat [assoc comm special (
    id-hook ACU_NumberOpSymbol (max)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _xor_ : Nat Nat -> Nat [assoc comm prec 55 gather (e E) special (
    id-hook ACU_NumberOpSymbol (xor)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _&_ : Nat Nat -> Nat [assoc comm prec 53 gather (e E) special (
    id-hook ACU_NumberOpSymbol (&)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _|_ : NzNat Nat -> NzNat [assoc comm prec 57 gather (e E) special (
    id-hook ACU_NumberOpSymbol (|)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _|_ : Nat Nat -> Nat [assoc comm prec 57 gather (e E) special (
    id-hook ACU_NumberOpSymbol (|)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _>>_ : Nat Nat -> Nat [prec 35 gather (E e) special (
    id-hook NumberOpSymbol (>>)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _<<_ : Nat Nat -> Nat [prec 35 gather (E e) special (
    id-hook NumberOpSymbol (<<)
    op-hook succSymbol (s_ : Nat ~> NzNat))] .
  op _<_ : Nat Nat -> Bool [prec 37 gather (E E) special (
    id-hook NumberOpSymbol (<)
    op-hook succSymbol (s_ : Nat ~> NzNat)
    term-hook trueTerm (true)
    term-hook falseTerm (false))] .
  op _<=_ : Nat Nat -> Bool [prec 37 gather (E E) special (
    id-hook NumberOpSymbol (<=)
    op-hook succSymbol (s_ : Nat ~> NzNat)
    term-hook trueTerm (true)
    term-hook falseTerm (false))] .
  op _>_ : Nat Nat -> Bool [prec 37 gather (E E) special (
    id-hook NumberOpSymbol (>)
    op-hook succSymbol (s_ : Nat ~> NzNat)
    term-hook trueTerm (true)
    term-hook falseTerm (false))] .
  op _>=_ : Nat Nat -> Bool [prec 37 gather (E E) special (
    id-hook NumberOpSymbol (>=)
    op-hook succSymbol (s_ : Nat ~> NzNat)
    term-hook trueTerm (true)
    term-hook falseTerm (false))] .
  op _divides_ : NzNat Nat -> Bool [prec 51 gather (E E) special (
    id-hook NumberOpSymbol (divides)
    op-hook succSymbol (s_ : Nat ~> NzNat)
    term-hook trueTerm (true)
    term-hook falseTerm (false))] .
  eq true and A:Bool = A:Bool .
  eq false and A:Bool = false .
  eq A:Bool and A:Bool = A:Bool .
  eq false xor A:Bool = A:Bool .
  eq A:Bool xor A:Bool = false .
  eq A:Bool and (B:Bool xor C:Bool) = A:Bool and B:Bool xor A:Bool and C:Bool .
  eq not A:Bool = true xor A:Bool .
  eq A:Bool or B:Bool = A:Bool and B:Bool xor A:Bool xor B:Bool .
  eq A:Bool implies B:Bool = not (A:Bool xor A:Bool and B:Bool) .
endfm
Warning: <standard input>, line 164 (fmod CONFUSE): importation of fmod NAT-SET
    by fmod CONFUSE not allowed because the pseudo-parameter Nat of fmod
    NAT-SET would be captured by an actual parameter of fmod CONFUSE.
Warning: <standard input>, line 165 (fmod CONFUSE): undeclared sort Set{Nat}.
Warning: <standard input>, line 175 (fmod M): importation of fmod NAT * (sort
    Nat to Nat{X}) by fmod M not allowed because the pseudo-parameter X of fmod
    NAT * (sort Nat to Nat{X}) would be captured by an actual parameter of fmod
    M.
Warning: <standard input>, line 185 (fmod CONFUSE): importation of fmod NAT-SET
    by fmod CONFUSE not allowed because the pseudo-parameter X of fmod NAT-SET
    would be captured by an actual parameter of fmod CONFUSE.
Warning: <standard input>, line 186 (fmod CONFUSE): undeclared sort S{X}.
Warning: <standard input>, line 204 (fmod BAR): importation of fmod FOO by fmod
    BAR not allowed because the pseudo-parameter X of fmod FOO would be
    captured by an actual parameter of fmod BAR.
Warning: <standard input>, line 206 (fmod BAR): undeclared sort Foo{X}.
fmod BAR{Y :: T} is
  sorts Y$Elt Bool .
  op if_then_else_fi : Bool Universal Universal -> Universal [poly (2 3 0) prec
    0 gather (& & &) special (
    id-hook BranchSymbol
    term-hook 1 (true)
    term-hook 2 (false))] .
  op _==_ : Universal Universal -> Bool [poly (1 2) prec 51 gather (E E)
    special (
    id-hook EqualitySymbol
    term-hook equalTerm (true)
    term-hook notEqualTerm (false))] .
  op _=/=_ : Universal Universal -> Bool [poly (1 2) prec 51 gather (E E)
    special (
    id-hook EqualitySymbol
    term-hook equalTerm (false)
    term-hook notEqualTerm (true))] .
  op c{X} : -> Y$Elt .
  op true : -> Bool [ctor special (
    id-hook SystemTrue)] .
  op false : -> Bool [ctor special (
    id-hook SystemFalse)] .
  op _and_ : Bool Bool -> Bool [assoc comm prec 55 gather (e E)] .
  op _or_ : Bool Bool -> Bool [assoc comm prec 59 gather (e E)] .
  op _xor_ : Bool Bool -> Bool [assoc comm prec 57 gather (e E)] .
  op not_ : Bool -> Bool [prec 53 gather (E)] .
  op _implies_ : Bool Bool -> Bool [prec 61 gather (e E)] .
  eq true and A:Bool = A:Bool .
  eq false and A:Bool = false .
  eq A:Bool and A:Bool = A:Bool .
  eq false xor A:Bool = A:Bool .
  eq A:Bool xor A:Bool = false .
  eq A:Bool and (B:Bool xor C:Bool) = A:Bool and B:Bool xor A:Bool and C:Bool .
  eq not A:Bool = true xor A:Bool .
  eq A:Bool or B:Bool = A:Bool and B:Bool xor A:Bool xor B:Bool .
  eq A:Bool implies B:Bool = not (A:Bool xor A:Bool and B:Bool) .
  eq c{X} = c{X} .
endfm
fmod BAR is
  sorts Bool Quux .
  op if_then_else_fi : Bool Universal Universal -> Universal [poly (2 3 0) prec
    0 gather (& & &) special (
    id-hook BranchSymbol
    term-hook 1 (true)
    term-hook 2 (false))] .
  op _==_ : Universal Universal -> Bool [poly (1 2) prec 51 gather (E E)
    special (
    id-hook EqualitySymbol
    term-hook equalTerm (true)
    term-hook notEqualTerm (false))] .
  op _=/=_ : Universal Universal -> Bool [poly (1 2) prec 51 gather (E E)
    special (
    id-hook EqualitySymbol
    term-hook equalTerm (false)
    term-hook notEqualTerm (true))] .
  op true : -> Bool [ctor special (
    id-hook SystemTrue)] .
  op false : -> Bool [ctor special (
    id-hook SystemFalse)] .
  op _and_ : Bool Bool -> Bool [assoc comm prec 55 gather (e E)] .
  op _or_ : Bool Bool -> Bool [assoc comm prec 59 gather (e E)] .
  op _xor_ : Bool Bool -> Bool [assoc comm prec 57 gather (e E)] .
  op not_ : Bool -> Bool [prec 53 gather (E)] .
  op _implies_ : Bool Bool -> Bool [prec 61 gather (e E)] .
  op d{X} : -> Quux .
  eq true and A:Bool = A:Bool .
  eq false and A:Bool = false .
  eq A:Bool and A:Bool = A:Bool .
  eq false xor A:Bool = A:Bool .
  eq A:Bool xor A:Bool = false .
  eq A:Bool and (B:Bool xor C:Bool) = A:Bool and B:Bool xor A:Bool and C:Bool .
  eq not A:Bool = true xor A:Bool .
  eq A:Bool or B:Bool = A:Bool and B:Bool xor A:Bool xor B:Bool .
  eq A:Bool implies B:Bool = not (A:Bool xor A:Bool and B:Bool) .
  eq d{X} = d{X} .
endfm
Warning: <standard input>, line 258 (fmod FOO): importation of fmod M by fmod
    FOO not allowed because the pseudo-parameter X of fmod M would be captured
    by an actual parameter of fmod FOO.
Warning: <standard input>, line 259 (fmod FOO): bad token c.
Warning: <standard input>, line 259 (fmod FOO): no parse for statement
eq c {X} = c {X} .
fmod BAR{Y :: TRIV} is
  sorts Y$Elt Bool .
  op if_then_else_fi : Bool Universal Universal -> Universal [poly (2 3 0) prec
    0 gather (& & &) special (
    id-hook BranchSymbol
    term-hook 1 (true)
    term-hook 2 (false))] .
  op _==_ : Universal Universal -> Bool [poly (1 2) prec 51 gather (E E)
    special (
    id-hook EqualitySymbol
    term-hook equalTerm (true)
    term-hook notEqualTerm (false))] .
  op _=/=_ : Universal Universal -> Bool [poly (1 2) prec 51 gather (E E)
    special (
    id-hook EqualitySymbol
    term-hook equalTerm (false)
    term-hook notEqualTerm (true))] .
  op true : -> Bool [ctor special (
    id-hook SystemTrue)] .
  op false : -> Bool [ctor special (
    id-hook SystemFalse)] .
  op _and_ : Bool Bool -> Bool [assoc comm prec 55 gather (e E)] .
  op _or_ : Bool Bool -> Bool [assoc comm prec 59 gather (e E)] .
  op _xor_ : Bool Bool -> Bool [assoc comm prec 57 gather (e E)] .
  op not_ : Bool -> Bool [prec 53 gather (E)] .
  op _implies_ : Bool Bool -> Bool [prec 61 gather (e E)] .
  eq true and A:Bool = A:Bool .
  eq false and A:Bool = false .
  eq A:Bool and A:Bool = A:Bool .
  eq false xor A:Bool = A:Bool .
  eq A:Bool xor A:Bool = false .
  eq A:Bool and (B:Bool xor C:Bool) = A:Bool and B:Bool xor A:Bool and C:Bool .
  eq not A:Bool = true xor A:Bool .
  eq A:Bool or B:Bool = A:Bool and B:Bool xor A:Bool xor B:Bool .
  eq A:Bool implies B:Bool = not (A:Bool xor A:Bool and B:Bool) .
endfm
Bye.
