Close an input channel.
Signature: (close-input-channel channel state-state) returns
This is a logic-mode function, but its logical definition is tricky;
see logical-story-of-io. The main logical consequence is that
Under the hood, we close the raw Lisp stream associated with
Theorem:
(defthm state-p1-of-close-input-channel-free (implies (and (open-input-channel-p1 channel type state) (state-p1 state)) (state-p1 (close-input-channel channel state))))
Theorem:
(defthm state-p1-of-close-input-channel-types (implies (and (or (open-input-channel-p1 channel :byte state) (open-input-channel-p1 channel :object state) (open-input-channel-p1 channel :character state)) (state-p1 state)) (state-p1 (close-input-channel channel state))))
Theorem:
(defthm state-p1-of-close-input-channel-of-open (implies (and (open-input-channel-p1 (mv-nth 0 (open-input-channel fname type state1)) type state) (state-p1 state)) (state-p1 (close-input-channel (mv-nth 0 (open-input-channel fname type state1)) state))))