Пример #1
0
    def bundle_equality(self, num_levels=2, **defaults_config):
        '''
        Given a nested forall, equate it with an equivalent form in
        which a given number of nested levels is bundled together.

        For example,
            \forall_{x, y | Q(x, y)} \forall_{z | R(z)} P(x, y, z)
        can be equated with
            \forall_{x, y, z | Q(x, y), R(z)} P(x, y, z)
        via bundle with num_levels=2.
        '''
        from proveit import bundle  # generic for OperationOverInstances
        from . import bundling
        return bundle(self, bundling, num_levels=num_levels)
Пример #2
0
    def bundle(self, num_levels=2, *, assumptions=USE_DEFAULTS):
        '''
        Given a nested forall, derive an equivalent form in which a
        given number of nested levels is bundled together.

        For example,
            \forall_{x, y | Q(x, y)} \forall_{z | R(z)} P(x, y, z)
        can become
            \forall_{x, y, z | Q(x, y), R(z)} P(x, y, z)
        via bundle with num_levels=2.
        '''
        from proveit import bundle  # generic for OperationOverInstances
        from ._theorems_ import bundle as bundle_thm
        return bundle(self,
                      bundle_thm,
                      num_levels=num_levels,
                      assumptions=assumptions)