Skip to content

Commit 478e58a

Browse files
authored
Merge pull request #227 from mohamed-barakat/IsColiftable
fixed IsColiftable
2 parents 3082d39 + 00731c5 commit 478e58a

File tree

4 files changed

+25
-7
lines changed

4 files changed

+25
-7
lines changed

PackageInfo.g

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ SetPackageInfo( rec(
1010

1111
PackageName := "FinSetsForCAP",
1212
Subtitle := "The elementary topos of (skeletal) finite sets",
13-
Version := "2023.10-01",
13+
Version := "2023.10-02",
1414

1515
Date := (function ( ) if IsBound( GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE ) then return GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE; else return Concatenation( ~.Version{[ 1 .. 4 ]}, "-", ~.Version{[ 6, 7 ]}, "-01" ); fi; end)( ),
1616
License := "GPL-2.0-or-later",

examples/SkeletalColift.g

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33
#! @Example
44
LoadPackage( "FinSetsForCAP", false );
55
#! true
6+
I := InitialObject( SkeletalFinSets );
7+
#! |0|
8+
iota := UniversalMorphismIntoTerminalObject( I );
9+
#! |0| → |1|
10+
id := IdentityMorphism( I );
11+
#! |0| → |0|
12+
IsColiftable( iota, id );
13+
#! false
614
m := FinSet( 5 );
715
#! |5|
816
n := FinSet( 4 );

gap/SkeletalFinSets.gi

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,12 @@ AddIsColiftable( SkeletalFinSets,
451451
ff := AsList( f );
452452
gg := AsList( g );
453453

454-
return ForAll( Set( ff ), i -> Length( Set( gg{Positions( ff, i )} ) ) = 1 );
454+
## Range( g ) initial implies Range( f ) initial
455+
if IsInitial( cat, Range( g ) ) and not IsInitial( cat, Range( f ) ) then
456+
return false;
457+
else
458+
return ForAll( Set( ff ), i -> Length( Set( gg{Positions( ff, i )} ) ) = 1 );
459+
fi;
455460

456461
end );
457462

gap/precompiled_categories/SkeletalCategoryOfFiniteSetsWithMorphismsGivenByListsPrecompiled.gi

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -397,11 +397,16 @@ end
397397
########
398398
function ( cat_1, arg2_1, arg3_1 )
399399
local hoisted_2_1, deduped_3_1;
400-
deduped_3_1 := AsList( arg2_1 );
401-
hoisted_2_1 := AsList( arg3_1 );
402-
return ForAll( SSortedList( deduped_3_1 ), function ( i_2 )
403-
return Length( SSortedList( hoisted_2_1{Positions( deduped_3_1, i_2 )} ) ) = 1;
404-
end );
400+
if Length( Range( arg3_1 ) ) = 0 and not Length( Range( arg2_1 ) ) = 0 then
401+
return false;
402+
else
403+
deduped_3_1 := AsList( arg2_1 );
404+
hoisted_2_1 := AsList( arg3_1 );
405+
return ForAll( SSortedList( deduped_3_1 ), function ( i_2 )
406+
return Length( SSortedList( hoisted_2_1{Positions( deduped_3_1, i_2 )} ) ) = 1;
407+
end );
408+
fi;
409+
return;
405410
end
406411
########
407412

0 commit comments

Comments
 (0)