• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Wp-gen
      • Dimacs-reader
      • Pfcs
      • Legacy-defrstobj
      • C
        • Syntax-for-tools
          • Formalized-subset
          • Mapping-to-language-definition
          • Input-files
          • Compilation-database
          • Printer
            • Print-exprs/decls/stmts
            • Print-expr
            • Pristate
            • Print-dec/oct/hex-const
            • Priopt
            • Print-fundef
            • Print-filepath-transunit-map
            • Print-s-char
            • Print-c-char
            • Print-q-char
            • Print-h-char
            • Print-fileset
            • Print-typequal/attribspec-list-list
            • Print-file
            • Print-hex-core-fconst
            • Print-dec-core-fconst
            • Print-ident-list
            • Print-fsuffix
            • Print-oct-digit-achar
            • Print-label-declaration-list
            • Print-hex-frac-const
            • Print-hex-digit-achar
            • Print-dec-frac-const
            • Print-dec-digit-achar
            • Print-asm-clobber-list
            • Print-stringlit-list
            • Print-inc/dec-op-list
            • Print-astring
            • Print-asm-name-spec
            • Print-univ-char-name
            • Print-struni-spec
            • Print-simple-escape
            • Print-label-declaration
            • Print-isuffix-option
            • Print-fsuffix-option
              • Print-extdecl-list
              • Print-eprefix-option
              • Print-dec-expo-option
              • Print-cprefix-option
              • Print-binop
              • Print-attrib-name
              • Print-type-qual
              • Print-s-char-list
              • Print-q-char-list
              • Print-indent
              • Print-ident
              • Print-h-char-list
              • Print-dec-expo-prefix
              • Print-char
              • Print-c-char-list
              • Print-bin-expo-prefix
              • Print-asm-qual-list
              • Print-stringlit
              • Print-stor-spec
              • Print-sign-option
              • Print-oct-escape
              • Print-header-name
              • Print-extdecl
              • Print-escape
              • Print-cconst
              • Print-asm-qual
              • Print-asm-clobber
              • Init-pristate
              • Dec-pristate-indent
              • Print-isuffix
              • Print-fun-spec
              • Print-fconst
              • Print-dec-expo
              • Print-bin-expo
              • Print-unop
              • Print-transunit
              • Print-new-line
              • Print-lsuffix
              • Print-inc/dec-op
              • Print-hex-quad
              • Print-eprefix
              • Print-cprefix
              • Print-usuffix
              • Print-iconst
              • Print-hprefix
              • Print-const
              • Print-comp-stmt
              • Print-hex-digit-achars
              • Print-sign
              • Print-oct-digit-achars
              • Print-dec-digit-achars
              • Print-chars
              • Inc-pristate-indent
              • Print-expr-list
              • Print-struct-declon-list
              • Print-stmt
              • Print-param-declor
              • Print-dirdeclor
              • Default-priopt
              • Print-struct-declor
              • Print-initer
              • Print-decl-inline
              • Print-struct-declon
              • Print-genassoc-list
              • Print-enum-spec
              • Print-absdeclor
              • Print-typequal/attribspec-list
              • Print-desiniter-list
              • Print-const-expr
              • Print-attrib
              • Print-tyname
              • Print-struct-declor-list
              • Print-spec/qual-list
              • Print-param-declon-list
              • Print-param-declon
              • Print-initdeclor-list
              • Print-designor-list
              • Print-decl-spec-list
              • Print-decl-list
              • Print-attrib-spec-list
              • Print-asm-output-list
              • Print-asm-input-list
              • Print-typequal/attribspec
              • Print-statassert
              • Print-spec/qual
              • Print-member-designor
              • Print-initdeclor
              • Print-enumer-list
              • Print-dirabsdeclor
              • Print-desiniter
              • Print-decl-spec
              • Print-decl
              • Print-block-item-list
              • Print-attrib-spec
              • Print-attrib-list
              • Print-asm-output
              • Print-align-spec
              • Print-type-spec
              • Print-label
              • Print-genassoc
              • Print-enumer
              • Print-designor
              • Print-declor
              • Print-block-item
              • Print-asm-stmt
              • Print-asm-input
            • Output-files
            • Abstract-syntax-operations
            • Implementation-environments
            • Abstract-syntax
            • Concrete-syntax
            • Disambiguation
            • Validation
            • Gcc-builtins
            • Preprocessing
            • Parsing
          • Atc
          • Transformation-tools
          • Language
          • Representation
          • Insertion-sort
          • Pack
        • Proof-checker-array
        • Soft
        • Farray
        • Rp-rewriter
        • Instant-runoff-voting
        • Imp-language
        • Sidekick
        • Ethereum
        • Leftist-trees
        • Java
        • Riscv
        • Taspi
        • Bitcoin
        • Zcash
        • Des
        • X86isa
        • Sha-2
        • Yul
        • Proof-checker-itp13
        • Regex
        • ACL2-programming-language
        • Json
        • Jfkr
        • Equational
        • Cryptography
        • Axe
        • Poseidon
        • Where-do-i-place-my-book
        • Aleo
        • Bigmems
        • Builtins
        • Execloader
        • Solidity
        • Paco
        • Concurrent-programs
        • Bls12-377-curves
      • Debugging
      • Community
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Printer

    Print-fsuffix-option

    Print an optional floating suffix.

    Signature
    (print-fsuffix-option fsuffix? pstate) → new-pstate
    Arguments
    fsuffix? — Guard (fsuffix-optionp fsuffix?).
    pstate — Guard (pristatep pstate).
    Returns
    new-pstate — Type (pristatep new-pstate).

    If there is no suffix, we print nothing.

    Definitions and Theorems

    Function: print-fsuffix-option

    (defun print-fsuffix-option (fsuffix? pstate)
      (declare (xargs :guard (and (fsuffix-optionp fsuffix?)
                                  (pristatep pstate))))
      (let ((__function__ 'print-fsuffix-option))
        (declare (ignorable __function__))
        (fsuffix-option-case fsuffix?
                             :some (print-fsuffix fsuffix?.val pstate)
                             :none (pristate-fix pstate))))

    Theorem: pristatep-of-print-fsuffix-option

    (defthm pristatep-of-print-fsuffix-option
      (b* ((new-pstate (print-fsuffix-option fsuffix? pstate)))
        (pristatep new-pstate))
      :rule-classes :rewrite)

    Theorem: pristate->gcc-of-print-fsuffix-option

    (defthm pristate->gcc-of-print-fsuffix-option
      (b* ((?new-pstate (print-fsuffix-option fsuffix? pstate)))
        (equal (pristate->gcc new-pstate)
               (pristate->gcc pstate))))

    Theorem: print-fsuffix-option-of-fsuffix-option-fix-fsuffix?

    (defthm print-fsuffix-option-of-fsuffix-option-fix-fsuffix?
      (equal (print-fsuffix-option (fsuffix-option-fix fsuffix?)
                                   pstate)
             (print-fsuffix-option fsuffix? pstate)))

    Theorem: print-fsuffix-option-fsuffix-option-equiv-congruence-on-fsuffix?

    (defthm
       print-fsuffix-option-fsuffix-option-equiv-congruence-on-fsuffix?
      (implies (fsuffix-option-equiv fsuffix? fsuffix?-equiv)
               (equal (print-fsuffix-option fsuffix? pstate)
                      (print-fsuffix-option fsuffix?-equiv pstate)))
      :rule-classes :congruence)

    Theorem: print-fsuffix-option-of-pristate-fix-pstate

    (defthm print-fsuffix-option-of-pristate-fix-pstate
      (equal (print-fsuffix-option fsuffix? (pristate-fix pstate))
             (print-fsuffix-option fsuffix? pstate)))

    Theorem: print-fsuffix-option-pristate-equiv-congruence-on-pstate

    (defthm print-fsuffix-option-pristate-equiv-congruence-on-pstate
      (implies (pristate-equiv pstate pstate-equiv)
               (equal (print-fsuffix-option fsuffix? pstate)
                      (print-fsuffix-option fsuffix? pstate-equiv)))
      :rule-classes :congruence)