Prøvning af grundlovsmodellen
Prøvningen holder ordlyd, kildemodel og fortolkning adskilt. Et bestået scenarie viser, at den valgte model giver det angivne resultat; det gør ikke fortolkningen til gældende ret.
- Ordlyd
- Den officielle tekst, bevaret ordret ved hver bestemmelse.
- Kildemodel
- De relationer og retsvirkninger, som ordlyden udtrykkeligt bærer.
- Fortolkning
- En navngiven forståelse med synlige forudsætninger og uden skjult standardvalg.
- Prøvning
- Scenarier og egenskaber med et erklæret omfang og en tydelig afgrænsning.
Fund i den aktive model
Oplysningerne nedenfor er genereret fra de metadata, som er knyttet direkte til prøvnings- og fortolkningskoden.
Tekstnær kontrol · Udtømmende lukket domæne
§ 3: den kanoniske magtfordeling
- Modellag
- Kildemodel
- Kilde
- Danmarks Riges Grundlov, LOV nr. 169 af 05/06/1953Hentet 2026-08-12
Resultat
Alle tre værdier i Statsmagt har den tekstnære placering, og afledte deltageropslag er konsistente.
Afgrænsning
Kontrollen beskriver Grundlovens ordlyd og ikke den nutidige praktiske magtudøvelse.
Programhenvisninger
statsmagtens_placeringstatsorgan_deltager_istatsmagt_udøves_i_foreningModelresultat · Grænseanalyse
Proceduregrænser i §§ 42, 73 og 88
- Modellag
- Kildemodel
- Kilde
- Danmarks Riges Grundlov, LOV nr. 169 af 05/06/1953Hentet 2026-08-12
Resultat
De tre procedurer bevarer hver sin stemmeretning, frist og tærskel, inklusive forskellen mellem strengt flertal og mindst-krav.
Afgrænsning
Kontrollen sammenligner de kodede grænser; den rangordner ikke procedurerne retligt.
Programhenvisninger
lovforslag_forkastet_ved_folkeafstemningEkspropriationsudsættelsesbegæring::opfylder_par73_stk2Grundlovsafstemningsresultat::opfylder_godkendelseskravet_i_par88Tekstnær kontrol · Udtømmende lukket domæne
§ 85: udtrykkeligt nævnte frihedsbestemmelser
- Modellag
- Kildemodel
- Kilde
- Danmarks Riges Grundlov, LOV nr. 169 af 05/06/1953Hentet 2026-08-12
Resultat
§ 85 nævner §§ 71, 78 og 79, mens § 77 ikke er en del af bestemmelsens henvisning.
Afgrænsning
Den manglende henvisning til § 77 etablerer ikke i sig selv en positiv, ubegrænset militær ytringsret.
Programhenvisninger
MilitærIndskrænkning::bestemmelsen_er_omfattet_af_ordlydens_henvisning_i_par85MilitærIndskrænkning::indskrænkning_har_hjemmel_i_par85Modelresultat · Grænseanalyse
§§ 42 og 88: forskellige folkeafstemningsmekanismer
- Modellag
- Kildemodel
- Kilde
- Danmarks Riges Grundlov, LOV nr. 169 af 05/06/1953Hentet 2026-08-12
Resultat
Samme stemmetal kan forkaste et almindeligt lovforslag efter § 42 uden at godkende en grundlovsændring efter § 88.
Afgrænsning
Resultatet viser forskellige tekstlige tærskler og stemmeretninger, ikke at den ene procedure er stærkere.
Programhenvisninger
lovforslag_forkastet_ved_folkeafstemningGrundlovsafstemningsresultat::opfylder_godkendelseskravet_i_par88Fortolkningsspørgsmål · Scenariesamling
§§ 6 og 70: troskrav og adgang til kongeembedet
- Modellag
- Fortolkningsmodel: To konkurrerende fortolkninger af §§ 6 og 70
- Kilde
- Danmarks Riges Grundlov, LOV nr. 169 af 05/06/1953Hentet 2026-08-12
Resultat
En ikke-luthersk kandidat afvises i særregelmodellen, mens ligebehandlingsmodellen blotlægger en normkonflikt.
Afgrænsning
Prøvningen afgør ikke, hvilken fortolkning der er gældende ret; der er ikke tilføjet supplerende retskilder.
Forudsætninger
- Særregelmodellen behandler § 6 som den særlige regel for kongeembedet.
- Ligebehandlingsmodellen antager, at adgang til kongeembedet er en politisk rettighed efter § 70.
Programhenvisninger
kongens_påkrævede_trossamfundmonark_opfylder_troskravPar70Sag::opfylder_par70troskravsudfaldFortolkningsspørgsmål · Udtømmende lukket domæne
§§ 43 og 73: skat eller ekspropriation
- Modellag
- Fortolkningsmodel: To konkurrerende kvalifikationshypoteser for økonomiske byrder
- Kilde
- Danmarks Riges Grundlov, LOV nr. 169 af 05/06/1953Hentet 2026-08-12
Resultat
En byrde med begge kendetegn klassificeres forskelligt i de to arbejdshypoteser.
Afgrænsning
Prøvningen opstiller ingen gældende grænse mellem skat og ekspropriation og afgør ikke virkningen af en bestemt skattesats.
Forudsætninger
- Den formelle arbejdshypotese prioriterer lovgivningens betegnelse.
- Den materielle arbejdshypotese prioriterer afståelse af bestemt ejendom.
Programhenvisninger
skattehandling_kræver_lovEkspropriationssag::opfylder_par73_stk1klassificer_økonomisk_byrdeFortolkninger, scenarier og prøvninger
Koden nedenfor er den samme kode, som metadatafundene henviser til, og som den samlede prøvningsindgang kører.
Fælles grundlag for fortolkningsmodeller
@ sprog da
@ importer ../grundlov - proevning - faelles
-- Fortolkningsmetadata beskriver et fund uden at gøre det til en del af
-- kildemodellen. En retskildestøttet konklusion kræver særskilte kilder.
Fortolkning af troskrav og ligebehandling
@ sprog da
@ importer ../kapitel - 02
@ importer ../kapitel - 07
@ importer ./grundlov - fortolkning - faelles
-- § 6 opstiller et troskrav til kongen. § 70 forbyder trosbaseret berøvelse
-- af borgerlige og politiske rettigheder. Om adgang til kongeembedet er en
-- politisk rettighed efter § 70, afgøres ikke af ordlyden alene.
# Troskravsfortolkning = Par6SomSærregelForKongeembedet | Par70OmfatterAdgangTilKongeembedet
# Troskravsudfald = OpfylderTroskravetIPar6 | AfvistEfterPar6SomSærregel | ÅbenNormkonfliktMellemPar6OgPar70
| troskravsudfald(fortolkning: Troskravsfortolkning, kandidat: Monark) -> hvis monark_opfylder_troskrav(kandidat) {
OpfylderTroskravetIPar6
} ellers {
match fortolkning {
| Par6SomSærregelForKongeembedet -> AfvistEfterPar6SomSærregel
| Par70OmfatterAdgangTilKongeembedet -> ÅbenNormkonfliktMellemPar6OgPar70
}
}
= troskrav_og_ligebehandling_fund = GrundlovPrøvningsfund(
titel = "§§ 6 og 70: troskrav og adgang til kongeembedet",
modellag = Fortolkningsmodel(navn = "To konkurrerende fortolkninger af §§ 6 og 70"),
udsagnsstatus = Fortolkningsspørgsmål,
prøvningsomfang = Scenariesamling,
programhenvisninger = [
refof(kongens_påkrævede_trossamfund),
refof(monark_opfylder_troskrav),
refof(Par70Sag::opfylder_par70),
refof(troskravsudfald)
],
grundlag = Fortolkningsgrundlag(
kilder = [grundlov_retsinformation],
forudsætninger = [
"Særregelmodellen behandler § 6 som den særlige regel for kongeembedet.",
"Ligebehandlingsmodellen antager, at adgang til kongeembedet er en politisk rettighed efter § 70."
]
),
resultat = "En ikke-luthersk kandidat afvises i særregelmodellen, mens ligebehandlingsmodellen blotlægger en normkonflikt.",
afgrænsning = "Prøvningen afgør ikke, hvilken fortolkning der er gældende ret; der er ikke tilføjet supplerende retskilder."
)
--@label:fortolkning_troskrav_og_ligebehandling::meta:troskrav_og_ligebehandling_fund--
--@begin:fortolkning_troskrav_og_ligebehandling--
| troskravsfortolkningerne_er_eksplicit_adskilte() -> Par6SomSærregelForKongeembedet != Par70OmfatterAdgangTilKongeembedet
--@end:fortolkning_troskrav_og_ligebehandling--
Fortolkning af skat og ekspropriation
@ sprog da
@ importer ../kapitel - 05
@ importer ../kapitel - 08
@ importer ./grundlov - fortolkning - faelles
-- §§ 43 og 73 opstiller forskellige retsfølger, men ordlyden leverer ikke en
-- klassifikationsregel for en økonomisk byrde, der har kendetegn fra begge.
# Byrdekvalifikationsfortolkning = FormelBetegnelseFørMaterielleKendetegn | MaterielleKendetegnFørFormelBetegnelse
# ØkonomiskByrdeklassifikation = SkatEfterArbejdshypotese | EkspropriationEfterArbejdshypotese | UafklaretEfterArbejdshypotese
# ØkonomiskByrde(angivet_som_skat: Boolsk, kræver_afståelse_af_bestemt_ejendom: Boolsk)
| klassificer_økonomisk_byrde(fortolkning: Byrdekvalifikationsfortolkning, byrde: ØkonomiskByrde) -> match fortolkning {
| FormelBetegnelseFørMaterielleKendetegn -> hvis byrde.angivet_som_skat {
SkatEfterArbejdshypotese
} ellers hvis byrde.kræver_afståelse_af_bestemt_ejendom {
EkspropriationEfterArbejdshypotese
} ellers {
UafklaretEfterArbejdshypotese
}
| MaterielleKendetegnFørFormelBetegnelse -> hvis byrde.kræver_afståelse_af_bestemt_ejendom {
EkspropriationEfterArbejdshypotese
} ellers hvis byrde.angivet_som_skat {
SkatEfterArbejdshypotese
} ellers {
UafklaretEfterArbejdshypotese
}
}
= skat_og_ekspropriation_fund = GrundlovPrøvningsfund(
titel = "§§ 43 og 73: skat eller ekspropriation",
modellag = Fortolkningsmodel(navn = "To konkurrerende kvalifikationshypoteser for økonomiske byrder"),
udsagnsstatus = Fortolkningsspørgsmål,
prøvningsomfang = UdtømmendeLukketDomæne,
programhenvisninger = [
refof(skattehandling_kræver_lov),
refof(Ekspropriationssag::opfylder_par73_stk1),
refof(klassificer_økonomisk_byrde)
],
grundlag = Fortolkningsgrundlag(
kilder = [grundlov_retsinformation],
forudsætninger = [
"Den formelle arbejdshypotese prioriterer lovgivningens betegnelse.",
"Den materielle arbejdshypotese prioriterer afståelse af bestemt ejendom."
]
),
resultat = "En byrde med begge kendetegn klassificeres forskelligt i de to arbejdshypoteser.",
afgrænsning = "Prøvningen opstiller ingen gældende grænse mellem skat og ekspropriation og afgør ikke virkningen af en bestemt skattesats."
)
--@label:fortolkning_skat_og_ekspropriation::meta:skat_og_ekspropriation_fund--
--@begin:fortolkning_skat_og_ekspropriation--
| byrdekvalifikationsfortolkningerne_er_eksplicit_adskilte() -> FormelBetegnelseFørMaterielleKendetegn != MaterielleKendetegnFørFormelBetegnelse
--@end:fortolkning_skat_og_ekspropriation--
Scenarier med eksplicitte fortolkningsvalg
@ sprog da
@ importer ./fortolkninger / troskrav - og - ligebehandling.fortolkning
@ importer ./fortolkninger / skat - og - ekspropriation.fortolkning
-- Hvert scenarie vælger sin fortolkning udtrykkeligt. Ingen model vinder på
-- grund af importorden eller et skjult standardvalg.
= luthersk_kandidat_til_kongeembedet = Monark(
alder = 30,
trossamfund = EvangeliskLuthersk,
forsikring = AfgivetSomTronfølger
)
= ikke_luthersk_kandidat_til_kongeembedet = Monark(
alder = 30,
trossamfund = Andet(navn = "Muslim"),
forsikring = AfgivetSomTronfølger
)
= luthersk_udfald_i_særregelmodellen = troskravsudfald(
fortolkning = Par6SomSærregelForKongeembedet,
kandidat = luthersk_kandidat_til_kongeembedet
)
= luthersk_udfald_i_ligebehandlingsmodellen = troskravsudfald(
fortolkning = Par70OmfatterAdgangTilKongeembedet,
kandidat = luthersk_kandidat_til_kongeembedet
)
= ikke_luthersk_udfald_i_særregelmodellen = troskravsudfald(
fortolkning = Par6SomSærregelForKongeembedet,
kandidat = ikke_luthersk_kandidat_til_kongeembedet
)
= ikke_luthersk_udfald_i_ligebehandlingsmodellen = troskravsudfald(
fortolkning = Par70OmfatterAdgangTilKongeembedet,
kandidat = ikke_luthersk_kandidat_til_kongeembedet
)
= trosbaseret_adgangsafslag_som_politisk_rettighed = Par70Sag(
grund = Trosbekendelse,
virkning = BerøvelseAfRettighed(rettighed = PolitiskRettighed),
virkningen_sker_på_grund_af_grunden = Sandt
)
= ikke_luthersk_kandidat_opfylder_troskravet = monark_opfylder_troskrav(ikke_luthersk_kandidat_til_kongeembedet)
= trosbaseret_adgangsafslag_opfylder_par70 = trosbaseret_adgangsafslag_som_politisk_rettighed.opfylder_par70()
| luthersk_kandidat_har_samme_udfald_i_begge_modeller: luthersk_udfald_i_særregelmodellen -> (
luthersk_udfald_i_særregelmodellen == OpfylderTroskravetIPar6
&& luthersk_udfald_i_ligebehandlingsmodellen == OpfylderTroskravetIPar6
)
| ikke_luthersk_kandidat_synliggør_fortolkningsvalget: ikke_luthersk_udfald_i_særregelmodellen -> (
ikke_luthersk_udfald_i_særregelmodellen == AfvistEfterPar6SomSærregel
&& ikke_luthersk_udfald_i_ligebehandlingsmodellen == ÅbenNormkonfliktMellemPar6OgPar70
)
| kildereglerne_giver_to_ordlydsnære_resultater: ikke_luthersk_kandidat_opfylder_troskravet -> (
ikke_luthersk_kandidat_opfylder_troskravet == Falskt
&& trosbaseret_adgangsafslag_opfylder_par70 == Falskt
)
= byrde_med_begge_kendetegn = ØkonomiskByrde(
angivet_som_skat = Sandt,
kræver_afståelse_af_bestemt_ejendom = Sandt
)
= byrde_kun_angivet_som_skat = ØkonomiskByrde(
angivet_som_skat = Sandt,
kræver_afståelse_af_bestemt_ejendom = Falskt
)
= byrde_kun_med_afståelse = ØkonomiskByrde(
angivet_som_skat = Falskt,
kræver_afståelse_af_bestemt_ejendom = Sandt
)
= byrde_uden_kendetegn = ØkonomiskByrde(
angivet_som_skat = Falskt,
kræver_afståelse_af_bestemt_ejendom = Falskt
)
= byrde_med_begge_formelt_udfald = klassificer_økonomisk_byrde(
fortolkning = FormelBetegnelseFørMaterielleKendetegn,
byrde = byrde_med_begge_kendetegn
)
= byrde_med_begge_materielt_udfald = klassificer_økonomisk_byrde(
fortolkning = MaterielleKendetegnFørFormelBetegnelse,
byrde = byrde_med_begge_kendetegn
)
= byrde_kun_skat_formelt_udfald = klassificer_økonomisk_byrde(
fortolkning = FormelBetegnelseFørMaterielleKendetegn,
byrde = byrde_kun_angivet_som_skat
)
= byrde_kun_skat_materielt_udfald = klassificer_økonomisk_byrde(
fortolkning = MaterielleKendetegnFørFormelBetegnelse,
byrde = byrde_kun_angivet_som_skat
)
= byrde_kun_afståelse_formelt_udfald = klassificer_økonomisk_byrde(
fortolkning = FormelBetegnelseFørMaterielleKendetegn,
byrde = byrde_kun_med_afståelse
)
= byrde_kun_afståelse_materielt_udfald = klassificer_økonomisk_byrde(
fortolkning = MaterielleKendetegnFørFormelBetegnelse,
byrde = byrde_kun_med_afståelse
)
= byrde_uden_kendetegn_formelt_udfald = klassificer_økonomisk_byrde(
fortolkning = FormelBetegnelseFørMaterielleKendetegn,
byrde = byrde_uden_kendetegn
)
= byrde_uden_kendetegn_materielt_udfald = klassificer_økonomisk_byrde(
fortolkning = MaterielleKendetegnFørFormelBetegnelse,
byrde = byrde_uden_kendetegn
)
| byrde_med_begge_kendetegn_synliggør_fortolkningsvalget: byrde_med_begge_formelt_udfald -> (
byrde_med_begge_formelt_udfald == SkatEfterArbejdshypotese
&& byrde_med_begge_materielt_udfald == EkspropriationEfterArbejdshypotese
)
| entydige_skattekendetegn_giver_samme_udfald: byrde_kun_skat_formelt_udfald -> (
byrde_kun_skat_formelt_udfald == SkatEfterArbejdshypotese
&& byrde_kun_skat_materielt_udfald == SkatEfterArbejdshypotese
)
| entydige_ekspropriationskendetegn_giver_samme_udfald: byrde_kun_afståelse_formelt_udfald -> (
byrde_kun_afståelse_formelt_udfald == EkspropriationEfterArbejdshypotese
&& byrde_kun_afståelse_materielt_udfald == EkspropriationEfterArbejdshypotese
)
| fravær_af_kendetegn_forbliver_uafklaret: byrde_uden_kendetegn_formelt_udfald -> (
byrde_uden_kendetegn_formelt_udfald == UafklaretEfterArbejdshypotese
&& byrde_uden_kendetegn_materielt_udfald == UafklaretEfterArbejdshypotese
)
? luthersk_kandidat_har_samme_udfald_i_begge_modeller
? ikke_luthersk_kandidat_synliggør_fortolkningsvalget
? kildereglerne_giver_to_ordlydsnære_resultater
? byrde_med_begge_kendetegn_synliggør_fortolkningsvalget
? entydige_skattekendetegn_giver_samme_udfald
? entydige_ekspropriationskendetegn_giver_samme_udfald
? fravær_af_kendetegn_forbliver_uafklaret
@ skriv("De navngivne fortolkningsscenarier holder.")
Prøvning af bestemmelser
@ sprog da
@ importer ./kapitel - 01
@ importer ./kapitel - 02
@ importer ./kapitel - 04
@ importer ./kapitel - 08
@ importer ./kapitel - 09
@ importer ./kapitel - 11
@ importer ./grundlov - proevning - faelles
-- Bestemmelsesprøvningen prøver lukkede, ordlydsnære domæner. Konkrete
-- livsforløb og hypotetiske personer hører til scenariefilerne.
= bestemmelser_magtfordeling_fund = GrundlovPrøvningsfund(
titel = "§ 3: den kanoniske magtfordeling",
modellag = Kildemodel,
udsagnsstatus = TekstnærKontrol,
prøvningsomfang = UdtømmendeLukketDomæne,
programhenvisninger = [
refof(statsmagtens_placering),
refof(statsorgan_deltager_i),
refof(statsmagt_udøves_i_forening)
],
grundlag = Fortolkningsgrundlag(
kilder = [grundlov_retsinformation],
forudsætninger = []
),
resultat = "Alle tre værdier i Statsmagt har den tekstnære placering, og afledte deltageropslag er konsistente.",
afgrænsning = "Kontrollen beskriver Grundlovens ordlyd og ikke den nutidige praktiske magtudøvelse."
)
--@label:audit_bestemmelser_magtfordeling::meta:bestemmelser_magtfordeling_fund--
--@begin:audit_bestemmelser_magtfordeling--
| bestemmelser_magtfordelingen_er_udtømmende_og_konsistent() -> {
= lovgivende_placering = Magtplacering(
magt = Lovgivende,
udøvelse = IForening(
organ = KongenSomStatsorgan,
medorgan = Folketinget
)
)
= udøvende_placering = Magtplacering(
magt = Udøvende,
udøvelse = Hos(organ = KongenSomStatsorgan)
)
= dømmende_placering = Magtplacering(
magt = Dømmende,
udøvelse = Hos(organ = Domstolene)
)
(
statsmagtens_placering(Lovgivende) == lovgivende_placering
&& statsmagtens_placering(Udøvende) == udøvende_placering
&& statsmagtens_placering(Dømmende) == dømmende_placering
&& statsorgan_deltager_i(KongenSomStatsorgan, Lovgivende)
&& statsorgan_deltager_i(Folketinget, Lovgivende)
&& statsorgan_deltager_i(Domstolene, Lovgivende) == Falskt
&& statsmagt_udøves_i_forening(Lovgivende)
&& statsmagt_udøves_i_forening(Udøvende) == Falskt
&& statsmagt_udøves_i_forening(Dømmende) == Falskt
)
}
--@end:audit_bestemmelser_magtfordeling--
| bestemmelser_par1_omfatter_hele_det_lukkede_rigsdomæne() -> grundloven_gælder_for(Danmark) && grundloven_gælder_for(Færøerne) && grundloven_gælder_for(Grønland)
| bestemmelser_par6_bevarer_det_formulerede_troskrav() -> {
= monark_i_folkekirkens_trossamfund = Monark(
alder = 18,
trossamfund = EvangeliskLuthersk,
forsikring = IkkeAfgivet
)
= monark_i_andet_trossamfund = Monark(
alder = 18,
trossamfund = Andet(navn = "Andet trossamfund"),
forsikring = IkkeAfgivet
)
(
troskravet_er_formuleret_for_kongen()
&& kongens_påkrævede_trossamfund() == EvangeliskLuthersk
&& monark_opfylder_troskrav(monark_i_folkekirkens_trossamfund)
&& monark_opfylder_troskrav(monark_i_andet_trossamfund) == Falskt
)
}
| bestemmelser_par7_har_samme_myndighedsgrænse_for_begge_subjekter() -> {
= mindreårig_monark = Monark(
alder = 17,
trossamfund = EvangeliskLuthersk,
forsikring = IkkeAfgivet
)
= myndig_monark = Monark(
alder = 18,
trossamfund = EvangeliskLuthersk,
forsikring = IkkeAfgivet
)
= mindreårig_tronfølger = Tronfølger(
alder = 17,
trossamfund = EvangeliskLuthersk,
forsikring = IkkeAfgivet
)
= myndig_tronfølger = Tronfølger(
alder = 18,
trossamfund = EvangeliskLuthersk,
forsikring = IkkeAfgivet
)
(
myndighedsregel_gælder_for(KongenSomMyndighedssubjekt)
&& myndighedsregel_gælder_for(TronfølgerenSomMyndighedssubjekt)
&& monark_er_myndig(mindreårig_monark) == Falskt
&& monark_er_myndig(myndig_monark)
&& tronfølger_er_myndig(mindreårig_tronfølger) == Falskt
&& tronfølger_er_myndig(myndig_tronfølger)
)
}
| bestemmelser_par28_bevarer_mandattallene() -> folketingets_max_medlemmer == 179 && færøske_mandater == 2 && grønlandske_mandater == 2
| bestemmelser_par85_henviser_udtømmende_til_tre_bestemmelser() -> {
= personlig_frihed = MilitærIndskrænkning(
bestemmelse = PersonligFrihedPar71,
følger_af_militære_loves_forskrifter = Sandt
)
= foreningsfrihed = MilitærIndskrænkning(
bestemmelse = ForeningsfrihedPar78,
følger_af_militære_loves_forskrifter = Sandt
)
= forsamlingsfrihed = MilitærIndskrænkning(
bestemmelse = ForsamlingsfrihedPar79,
følger_af_militære_loves_forskrifter = Sandt
)
= ytringsfrihed = MilitærIndskrænkning(
bestemmelse = YtringsfrihedPar77,
følger_af_militære_loves_forskrifter = Sandt
)
(
personlig_frihed.bestemmelsen_er_omfattet_af_ordlydens_henvisning_i_par85()
&& foreningsfrihed.bestemmelsen_er_omfattet_af_ordlydens_henvisning_i_par85()
&& forsamlingsfrihed.bestemmelsen_er_omfattet_af_ordlydens_henvisning_i_par85()
&& ytringsfrihed.bestemmelsen_er_omfattet_af_ordlydens_henvisning_i_par85() == Falskt
)
}
| bestemmelser_par86_dækker_begge_rådstyper_og_alle_rigsdele() -> {
= dansk_kommunalvalg = Rådsvalgretsalder(rigsdel = Danmark, råd = KommunaltRåd)
= dansk_menighedsrådsvalg = Rådsvalgretsalder(rigsdel = Danmark, råd = Menighedsråd)
= færøsk_kommunalvalg = Rådsvalgretsalder(rigsdel = Færøerne, råd = KommunaltRåd)
= færøsk_menighedsrådsvalg = Rådsvalgretsalder(rigsdel = Færøerne, råd = Menighedsråd)
= grønlandsk_kommunalvalg = Rådsvalgretsalder(rigsdel = Grønland, råd = KommunaltRåd)
= grønlandsk_menighedsrådsvalg = Rådsvalgretsalder(rigsdel = Grønland, råd = Menighedsråd)
(
dansk_kommunalvalg.retsgrundlag_efter_par86() == FølgerFolketingsvalgretsalderenTilEnhverTid
&& dansk_menighedsrådsvalg.retsgrundlag_efter_par86() == FølgerFolketingsvalgretsalderenTilEnhverTid
&& færøsk_kommunalvalg.retsgrundlag_efter_par86() == FastsættesVedLovEllerIHEnholdTilLov
&& færøsk_menighedsrådsvalg.retsgrundlag_efter_par86() == FastsættesVedLovEllerIHEnholdTilLov
&& grønlandsk_kommunalvalg.retsgrundlag_efter_par86() == FastsættesVedLovEllerIHEnholdTilLov
&& grønlandsk_menighedsrådsvalg.retsgrundlag_efter_par86() == FastsættesVedLovEllerIHEnholdTilLov
)
}
| bestemmelser_stadfæstelsesakten_er_kanonisk() -> {
= stadfæstelsesdato = Dato(år = 1953, måned = 6, dag = 5)
(
grundlovens_stadfæstelse.opfylder_stadfæstelsesteksten()
&& grundlovens_stadfæstelse.dato == stadfæstelsesdato
&& grundlovens_stadfæstelse.sted == ChristiansborgSlot
&& grundlovens_stadfæstelse.monark == FrederikDenNiende
)
}
| bestemmelser_audit_består() -> (
bestemmelser_magtfordelingen_er_udtømmende_og_konsistent()
&& bestemmelser_par1_omfatter_hele_det_lukkede_rigsdomæne()
&& bestemmelser_par6_bevarer_det_formulerede_troskrav()
&& bestemmelser_par7_har_samme_myndighedsgrænse_for_begge_subjekter()
&& bestemmelser_par28_bevarer_mandattallene()
&& bestemmelser_par85_henviser_udtømmende_til_tre_bestemmelser()
&& bestemmelser_par86_dækker_begge_rådstyper_og_alle_rigsdele()
&& bestemmelser_stadfæstelsesakten_er_kanonisk()
)
= bestemmelser_audit_resultat = bestemmelser_audit_består()
| bestemmelser_audit_holder: bestemmelser_audit_resultat -> bestemmelser_audit_resultat == Sandt
? bestemmelser_audit_holder
Prøvning af procedurer
@ sprog da
@ importer ./kapitel - 02
@ importer ./kapitel - 03
@ importer ./kapitel - 05
@ importer ./kapitel - 06
@ importer ./kapitel - 08
@ importer ./kapitel - 10
@ importer ./grundlov - proevning - faelles
-- Procedureprøvningen prøver samtykke, konsistente tællinger, strenge og
-- inklusive tærskler samt forskellen mellem udløser, forløb og retsvirkning.
= procedurer_taerskler_fund = GrundlovPrøvningsfund(
titel = "Proceduregrænser i §§ 42, 73 og 88",
modellag = Kildemodel,
udsagnsstatus = Modelresultat,
prøvningsomfang = Grænseanalyse,
programhenvisninger = [
refof(lovforslag_forkastet_ved_folkeafstemning),
refof(Ekspropriationsudsættelsesbegæring::opfylder_par73_stk2),
refof(Grundlovsafstemningsresultat::opfylder_godkendelseskravet_i_par88)
],
grundlag = Fortolkningsgrundlag(
kilder = [grundlov_retsinformation],
forudsætninger = []
),
resultat = "De tre procedurer bevarer hver sin stemmeretning, frist og tærskel, inklusive forskellen mellem strengt flertal og mindst-krav.",
afgrænsning = "Kontrollen sammenligner de kodede grænser; den rangordner ikke procedurerne retligt."
)
| procedurer_samtykke_er_positivt_og_manglende_samtykke_negativt() -> {
= anden_person = AndenPerson(
kongen_finder_forbrydelsen_særdeles_farlig_for_staten = Sandt
)
= rigsretssag_med_samtykke = Rigsretssag(
tiltaler = KongenSomRigsretstiltaler,
tiltalt = anden_person,
folketingets_samtykke = Givet
)
= rigsretssag_uden_samtykke = Rigsretssag(
tiltaler = KongenSomRigsretstiltaler,
tiltalt = anden_person,
folketingets_samtykke = IkkeGivet
)
(
regent_i_udlandet(Givet)
&& regent_i_udlandet(IkkeGivet) == Falskt
&& årpenge_i_udlandet(Givet)
&& årpenge_i_udlandet(IkkeGivet) == Falskt
&& benådning_af_rigsretsdømt_minister_opfylder_par24(Givet)
&& benådning_af_rigsretsdømt_minister_opfylder_par24(IkkeGivet) == Falskt
&& rigsretssag_med_samtykke.kan_påkendes_efter_par60()
&& rigsretssag_uden_samtykke.kan_påkendes_efter_par60() == Falskt
)
}
| procedurer_fælles_medlemstærskler_validerer_optællingen() -> {
= to_femtedele = Brøk(tæller = 2, nævner = 5)
= en_tredjedel = Brøk(tæller = 1, nævner = 3)
= tooghalvfjerds_medlemmer = Medlemsopbakning(antal = 72, medlemmer_i_alt = 179)
= enoghalvfjerds_medlemmer = Medlemsopbakning(antal = 71, medlemmer_i_alt = 179)
= tres_medlemmer = Medlemsopbakning(antal = 60, medlemmer_i_alt = 179)
= nioghalvtreds_medlemmer = Medlemsopbakning(antal = 59, medlemmer_i_alt = 179)
= umulig_opbakning = Medlemsopbakning(antal = 180, medlemmer_i_alt = 179)
(
medlemsopbakning_er_mindst(tooghalvfjerds_medlemmer, to_femtedele)
&& medlemsopbakning_er_mindst(enoghalvfjerds_medlemmer, to_femtedele) == Falskt
&& medlemsopbakning_er_mindst(tres_medlemmer, en_tredjedel)
&& medlemsopbakning_er_mindst(nioghalvtreds_medlemmer, en_tredjedel) == Falskt
&& medlemsopbakning_er_mindst(umulig_opbakning, en_tredjedel) == Falskt
)
}
--@label:audit_procedurer_taerskler::meta:procedurer_taerskler_fund--
--@begin:audit_procedurer_taerskler--
| procedurer_par42_har_strengt_flertal_og_inklusiv_tredive_procent() -> {
= forkastet = Folkeafstemningsresultat(
mod_stemmer = 30,
deltagende = 59,
stemmeberettigede = 100
)
= ikke_strengt_flertal = Folkeafstemningsresultat(
mod_stemmer = 30,
deltagende = 60,
stemmeberettigede = 100
)
= under_tredive_procent = Folkeafstemningsresultat(
mod_stemmer = 29,
deltagende = 57,
stemmeberettigede = 100
)
(
lovforslag_forkastet_ved_folkeafstemning(forkastet)
&& lovforslag_forkastet_ved_folkeafstemning(ikke_strengt_flertal) == Falskt
&& lovforslag_forkastet_ved_folkeafstemning(under_tredive_procent) == Falskt
)
}
| procedurer_par73_har_inklusiv_tredjedel_og_tre_soegnedage() -> {
= rettidig_tredjedel = Ekspropriationsudsættelsesbegæring(
lovforslag_vedrører_ekspropriation_af_ejendom = Sandt,
lovforslag_endeligt_vedtaget = Sandt,
opbakning = Medlemsopbakning(antal = 60, medlemmer_i_alt = 179),
søgnedage_efter_endelig_vedtagelse = 3
)
= under_tredjedel = Ekspropriationsudsættelsesbegæring(
lovforslag_vedrører_ekspropriation_af_ejendom = Sandt,
lovforslag_endeligt_vedtaget = Sandt,
opbakning = Medlemsopbakning(antal = 59, medlemmer_i_alt = 179),
søgnedage_efter_endelig_vedtagelse = 3
)
= for_sen_begæring = Ekspropriationsudsættelsesbegæring(
lovforslag_vedrører_ekspropriation_af_ejendom = Sandt,
lovforslag_endeligt_vedtaget = Sandt,
opbakning = Medlemsopbakning(antal = 60, medlemmer_i_alt = 179),
søgnedage_efter_endelig_vedtagelse = 4
)
(
rettidig_tredjedel.opfylder_par73_stk2()
&& under_tredjedel.opfylder_par73_stk2() == Falskt
&& for_sen_begæring.opfylder_par73_stk2() == Falskt
)
}
| procedurer_par88_har_strengt_flertal_og_inklusiv_fyrre_procent() -> {
= godkendt = Grundlovsafstemningsresultat(
for_stemmer = 40,
deltagende = 79,
stemmeberettigede = 100
)
= ikke_strengt_flertal = Grundlovsafstemningsresultat(
for_stemmer = 40,
deltagende = 80,
stemmeberettigede = 100
)
= under_fyrre_procent = Grundlovsafstemningsresultat(
for_stemmer = 39,
deltagende = 77,
stemmeberettigede = 100
)
= umuligt_stemmetal = Grundlovsafstemningsresultat(
for_stemmer = 101,
deltagende = 100,
stemmeberettigede = 100
)
(
godkendt.opfylder_godkendelseskravet_i_par88()
&& ikke_strengt_flertal.opfylder_godkendelseskravet_i_par88() == Falskt
&& under_fyrre_procent.opfylder_godkendelseskravet_i_par88() == Falskt
&& umuligt_stemmetal.opfylder_godkendelseskravet_i_par88() == Falskt
)
}
--@end:audit_procedurer_taerskler--
| procedurer_par88_adskiller_udloeser_fuldt_forloeb_og_retsvirkning() -> {
= udløsende_forslagsforløb = Grundlovsforslagsforløb(
første_folketing_har_vedtaget = Sandt,
regeringen_vil_fremme_sagen = Sandt,
nyvalg_til_folketinget_udskrevet = Falskt,
det_følgende_folketing_har_vedtaget = Falskt,
skikkelse_ved_genvedtagelsen = UændretSkikkelse
)
= fuldført_forslagsforløb = Grundlovsforslagsforløb(
første_folketing_har_vedtaget = Sandt,
regeringen_vil_fremme_sagen = Sandt,
nyvalg_til_folketinget_udskrevet = Sandt,
det_følgende_folketing_har_vedtaget = Sandt,
skikkelse_ved_genvedtagelsen = UændretSkikkelse
)
= godkendende_afstemning = Grundlovsafstemning(
forelæggelsestidspunkt = IndenEtHalvtÅrEfterEndeligVedtagelse,
forelagt_ved_direkte_afstemning = Sandt,
resultat = Grundlovsafstemningsresultat(
for_stemmer = 40,
deltagende = 79,
stemmeberettigede = 100
)
)
= ikke_stadfæstet_sag = Grundlovsændringssag(
forslagsforløb = fuldført_forslagsforløb,
afstemning = godkendende_afstemning,
stadfæstet_af_kongen = Falskt
)
(
udløsende_forslagsforløb.udløser_nyvalg_efter_par88()
&& udløsende_forslagsforløb.opfylder_forslagsforløbet_i_par88() == Falskt
&& ikke_stadfæstet_sag.bliver_grundlov_efter_par88() == Falskt
)
}
| procedurer_audit_består() -> (
procedurer_samtykke_er_positivt_og_manglende_samtykke_negativt()
&& procedurer_fælles_medlemstærskler_validerer_optællingen()
&& procedurer_par42_har_strengt_flertal_og_inklusiv_tredive_procent()
&& procedurer_par73_har_inklusiv_tredjedel_og_tre_soegnedage()
&& procedurer_par88_har_strengt_flertal_og_inklusiv_fyrre_procent()
&& procedurer_par88_adskiller_udloeser_fuldt_forloeb_og_retsvirkning()
)
= procedurer_audit_resultat = procedurer_audit_består()
| procedurer_audit_holder: procedurer_audit_resultat -> procedurer_audit_resultat == Sandt
? procedurer_audit_holder
Prøvning af rettigheder
@ sprog da
@ importer ./kapitel - 07
@ importer ./kapitel - 08
@ importer ./grundlov - proevning - faelles
-- Rettighedsprøvningen prøver ordlydens personkredse, virkninger, indgreb og
-- udtrykkelige henvisninger uden at udlede rettigheder af tavshed.
= rettigheder_negativ_afgraensning_fund = GrundlovPrøvningsfund(
titel = "§ 85: udtrykkeligt nævnte frihedsbestemmelser",
modellag = Kildemodel,
udsagnsstatus = TekstnærKontrol,
prøvningsomfang = UdtømmendeLukketDomæne,
programhenvisninger = [
refof(MilitærIndskrænkning::bestemmelsen_er_omfattet_af_ordlydens_henvisning_i_par85),
refof(MilitærIndskrænkning::indskrænkning_har_hjemmel_i_par85)
],
grundlag = Fortolkningsgrundlag(
kilder = [grundlov_retsinformation],
forudsætninger = []
),
resultat = "§ 85 nævner §§ 71, 78 og 79, mens § 77 ikke er en del af bestemmelsens henvisning.",
afgrænsning = "Den manglende henvisning til § 77 etablerer ikke i sig selv en positiv, ubegrænset militær ytringsret."
)
| rettigheder_par67_kraever_overbevisningssammenhaeng_og_begge_graenser() -> {
= beskyttet_lære = Religionsudøvelse(
udtryk = Lære,
stemmer_med_overbevisningen = Sandt,
strider_mod_sædeligheden = Falskt,
strider_mod_den_offentlige_orden = Falskt
)
= beskyttet_foretagelse = Religionsudøvelse(
udtryk = Foretagelse,
stemmer_med_overbevisningen = Sandt,
strider_mod_sædeligheden = Falskt,
strider_mod_den_offentlige_orden = Falskt
)
= uden_overbevisningssammenhæng = Religionsudøvelse(
udtryk = Lære,
stemmer_med_overbevisningen = Falskt,
strider_mod_sædeligheden = Falskt,
strider_mod_den_offentlige_orden = Falskt
)
= imod_sædeligheden = Religionsudøvelse(
udtryk = Lære,
stemmer_med_overbevisningen = Sandt,
strider_mod_sædeligheden = Sandt,
strider_mod_den_offentlige_orden = Falskt
)
= imod_den_offentlige_orden = Religionsudøvelse(
udtryk = Foretagelse,
stemmer_med_overbevisningen = Sandt,
strider_mod_sædeligheden = Falskt,
strider_mod_den_offentlige_orden = Sandt
)
(
beskyttet_lære.er_beskyttet_efter_par67()
&& beskyttet_foretagelse.er_beskyttet_efter_par67()
&& uden_overbevisningssammenhæng.er_beskyttet_efter_par67() == Falskt
&& imod_sædeligheden.er_beskyttet_efter_par67() == Falskt
&& imod_den_offentlige_orden.er_beskyttet_efter_par67() == Falskt
)
}
| rettigheder_par70_dækker_begge_grunde_og_begge_virkninger() -> {
= trosbetinget_borgerlig_rettighedsberøvelse = Par70Sag(
grund = Trosbekendelse,
virkning = BerøvelseAfRettighed(rettighed = BorgerligRettighed),
virkningen_sker_på_grund_af_grunden = Sandt
)
= afstamningsbetinget_politisk_rettighedsberøvelse = Par70Sag(
grund = AfstamningSomLigebehandlingsgrund,
virkning = BerøvelseAfRettighed(rettighed = PolitiskRettighed),
virkningen_sker_på_grund_af_grunden = Sandt
)
= trosbetinget_borgerpligtsunddragelse = Par70Sag(
grund = Trosbekendelse,
virkning = UnddragelseFraAlmindeligBorgerpligt,
virkningen_sker_på_grund_af_grunden = Sandt
)
= uafhængig_borgerpligtsunddragelse = Par70Sag(
grund = AfstamningSomLigebehandlingsgrund,
virkning = UnddragelseFraAlmindeligBorgerpligt,
virkningen_sker_på_grund_af_grunden = Falskt
)
(
trosbetinget_borgerlig_rettighedsberøvelse.opfylder_par70() == Falskt
&& afstamningsbetinget_politisk_rettighedsberøvelse.opfylder_par70() == Falskt
&& trosbetinget_borgerpligtsunddragelse.opfylder_par70() == Falskt
&& uafhængig_borgerpligtsunddragelse.opfylder_par70()
)
}
| rettigheder_par71_adskiller_beskyttede_grunde_fra_lovhjemmel() -> {
= politisk_begrundet = Frihedsberøvelsessag(
personkreds = DanskBorger,
grund = PolitiskOverbevisning,
har_lovhjemmel = Sandt
)
= religiøst_begrundet = Frihedsberøvelsessag(
personkreds = DanskBorger,
grund = ReligiøsOverbevisning,
har_lovhjemmel = Sandt
)
= afstamningsbegrundet = Frihedsberøvelsessag(
personkreds = DanskBorger,
grund = AfstamningSomFrihedsberøvelsesgrund,
har_lovhjemmel = Sandt
)
= anden_grund_med_lovhjemmel = Frihedsberøvelsessag(
personkreds = DanskBorger,
grund = AndenFrihedsberøvelsesgrund,
har_lovhjemmel = Sandt
)
= anden_person_uden_lovhjemmel = Frihedsberøvelsessag(
personkreds = AndenPerson,
grund = AndenFrihedsberøvelsesgrund,
har_lovhjemmel = Falskt
)
(
politisk_begrundet.opfylder_par71_stk1_og_2() == Falskt
&& religiøst_begrundet.opfylder_par71_stk1_og_2() == Falskt
&& afstamningsbegrundet.opfylder_par71_stk1_og_2() == Falskt
&& anden_grund_med_lovhjemmel.opfylder_par71_stk1_og_2()
&& anden_person_uden_lovhjemmel.opfylder_par71_stk1_og_2() == Falskt
)
}
| rettigheder_par72_dækker_alle_fire_indgreb_med_samme_hovedregel() -> {
= husundersøgelse_med_retskendelse = Privatlivsindgrebssag(
indgreb = Husundersøgelse,
retskendelse_foreligger = Sandt,
særegen_undtagelse_hjemlet_ved_lov = Falskt
)
= beslaglæggelse_med_retskendelse = Privatlivsindgrebssag(
indgreb = Beslaglæggelse,
retskendelse_foreligger = Sandt,
særegen_undtagelse_hjemlet_ved_lov = Falskt
)
= papirundersøgelse_med_retskendelse = Privatlivsindgrebssag(
indgreb = UndersøgelseAfBreveOgAndrePapirer,
retskendelse_foreligger = Sandt,
særegen_undtagelse_hjemlet_ved_lov = Falskt
)
= kommunikationsbrud_med_retskendelse = Privatlivsindgrebssag(
indgreb = BrudPåPostTelegrafEllerTelefonhemmeligheden,
retskendelse_foreligger = Sandt,
særegen_undtagelse_hjemlet_ved_lov = Falskt
)
= husundersøgelse_uden_hjemmel = Privatlivsindgrebssag(
indgreb = Husundersøgelse,
retskendelse_foreligger = Falskt,
særegen_undtagelse_hjemlet_ved_lov = Falskt
)
= lovhjemlet_undtagelse = Privatlivsindgrebssag(
indgreb = Husundersøgelse,
retskendelse_foreligger = Falskt,
særegen_undtagelse_hjemlet_ved_lov = Sandt
)
(
husundersøgelse_med_retskendelse.opfylder_par72()
&& beslaglæggelse_med_retskendelse.opfylder_par72()
&& papirundersøgelse_med_retskendelse.opfylder_par72()
&& kommunikationsbrud_med_retskendelse.opfylder_par72()
&& husundersøgelse_uden_hjemmel.opfylder_par72() == Falskt
&& lovhjemlet_undtagelse.opfylder_par72()
)
}
| rettigheder_par77_dækker_alle_former_og_begge_forholdsregler() -> {
= trykt_ytring = Ytringssag(form = Tryk)
= skriftlig_ytring = Ytringssag(form = Skrift)
= talt_ytring = Ytringssag(form = Tale)
(
trykt_ytring.retten_til_at_offentliggøre_tanker_omfatter_formen()
&& skriftlig_ytring.retten_til_at_offentliggøre_tanker_omfatter_formen()
&& talt_ytring.retten_til_at_offentliggøre_tanker_omfatter_formen()
&& forebyggende_ytringsforholdsregel_kan_indføres_efter_par77(Censur) == Falskt
&& forebyggende_ytringsforholdsregel_kan_indføres_efter_par77(AndenForebyggendeForholdsregel) == Falskt
)
}
| rettigheder_par78_og_par79_bevarer_forskellige_indgrebsbetingelser() -> {
= offentlig_forsamling_med_fare = Forsamlingssag(
ubevæbnet = Sandt,
offentlig = Sandt,
under_åben_himmel = Sandt,
fare_for_den_offentlige_fred = Sandt
)
(
forening_kan_dannes_uden_forudgående_tilladelse(LovligtFormål)
&& forening_kan_dannes_uden_forudgående_tilladelse(UlovligtFormål) == Falskt
&& offentlig_forsamling_med_fare.kan_samles_uden_forudgående_tilladelse()
&& offentlig_forsamling_med_fare.politiet_har_ret_til_at_overvære()
&& offentlig_forsamling_med_fare.kan_forbydes_efter_par79()
)
}
--@label:audit_rettigheder_negativ_afgraensning::meta:rettigheder_negativ_afgraensning_fund--
--@begin:audit_rettigheder_negativ_afgraensning--
| rettigheder_par85_skiller_udtrykkelig_udeladelse_fra_positiv_ret() -> {
= personlig_frihed = MilitærIndskrænkning(
bestemmelse = PersonligFrihedPar71,
følger_af_militære_loves_forskrifter = Sandt
)
= foreningsfrihed = MilitærIndskrænkning(
bestemmelse = ForeningsfrihedPar78,
følger_af_militære_loves_forskrifter = Sandt
)
= forsamlingsfrihed = MilitærIndskrænkning(
bestemmelse = ForsamlingsfrihedPar79,
følger_af_militære_loves_forskrifter = Sandt
)
= ytringsfrihed = MilitærIndskrænkning(
bestemmelse = YtringsfrihedPar77,
følger_af_militære_loves_forskrifter = Sandt
)
(
personlig_frihed.indskrænkning_har_hjemmel_i_par85()
&& foreningsfrihed.indskrænkning_har_hjemmel_i_par85()
&& forsamlingsfrihed.indskrænkning_har_hjemmel_i_par85()
&& ytringsfrihed.indskrænkning_har_hjemmel_i_par85() == Falskt
)
}
--@end:audit_rettigheder_negativ_afgraensning--
| rettigheder_audit_består() -> (
rettigheder_par67_kraever_overbevisningssammenhaeng_og_begge_graenser()
&& rettigheder_par70_dækker_begge_grunde_og_begge_virkninger()
&& rettigheder_par71_adskiller_beskyttede_grunde_fra_lovhjemmel()
&& rettigheder_par72_dækker_alle_fire_indgreb_med_samme_hovedregel()
&& rettigheder_par77_dækker_alle_former_og_begge_forholdsregler()
&& rettigheder_par78_og_par79_bevarer_forskellige_indgrebsbetingelser()
&& rettigheder_par85_skiller_udtrykkelig_udeladelse_fra_positiv_ret()
)
= rettigheder_audit_resultat = rettigheder_audit_består()
| rettigheder_audit_holder: rettigheder_audit_resultat -> rettigheder_audit_resultat == Sandt
? rettigheder_audit_holder
Tværgående prøvning
@ sprog da
@ importer ./kapitel - 03
@ importer ./kapitel - 04
@ importer ./kapitel - 05
@ importer ./kapitel - 06
@ importer ./kapitel - 08
@ importer ./kapitel - 09
@ importer ./kapitel - 10
@ importer ./kapitel - 11
@ importer ./grundlov - proevning - faelles
-- Den tværgående prøvning sammenholder kun relationer, som kapitlerne faktisk
-- modellerer. Den indfører ingen skjult rangordning mellem bestemmelser.
= tvaergaaende_folkeafstemninger_fund = GrundlovPrøvningsfund(
titel = "§§ 42 og 88: forskellige folkeafstemningsmekanismer",
modellag = Kildemodel,
udsagnsstatus = Modelresultat,
prøvningsomfang = Grænseanalyse,
programhenvisninger = [
refof(lovforslag_forkastet_ved_folkeafstemning),
refof(Grundlovsafstemningsresultat::opfylder_godkendelseskravet_i_par88)
],
grundlag = Fortolkningsgrundlag(
kilder = [grundlov_retsinformation],
forudsætninger = []
),
resultat = "Samme stemmetal kan forkaste et almindeligt lovforslag efter § 42 uden at godkende en grundlovsændring efter § 88.",
afgrænsning = "Resultatet viser forskellige tekstlige tærskler og stemmeretninger, ikke at den ene procedure er stærkere."
)
| tvaergaaende_par29_og_par86_bevarer_hvert_sit_retsgrundlag() -> {
= stadfæstelig_valgretsalderændring = Valgretsalderændring(
folketinget_har_vedtaget = Sandt,
folkeafstemning_afholdt = Sandt,
bestemmelsen_bortfaldet = Falskt
)
= dansk_kommunalvalg = Rådsvalgretsalder(rigsdel = Danmark, råd = KommunaltRåd)
= færøsk_kommunalvalg = Rådsvalgretsalder(rigsdel = Færøerne, råd = KommunaltRåd)
= grønlandsk_menighedsrådsvalg = Rådsvalgretsalder(rigsdel = Grønland, råd = Menighedsråd)
(
valgretsalderændring_kan_stadfæstes(stadfæstelig_valgretsalderændring)
&& dansk_kommunalvalg.retsgrundlag_efter_par86() == FølgerFolketingsvalgretsalderenTilEnhverTid
&& færøsk_kommunalvalg.retsgrundlag_efter_par86() == FastsættesVedLovEllerIHEnholdTilLov
&& grønlandsk_menighedsrådsvalg.retsgrundlag_efter_par86() == FastsættesVedLovEllerIHEnholdTilLov
)
}
--@label:audit_tvaergaaende_folkeafstemninger::meta:tvaergaaende_folkeafstemninger_fund--
--@begin:audit_tvaergaaende_folkeafstemninger--
| tvaergaaende_par42_og_par88_har_forskellige_taerskeludfald() -> {
= almindelig_folkeafstemning = Folkeafstemningsresultat(
mod_stemmer = 35,
deltagende = 60,
stemmeberettigede = 100
)
= grundlovsafstemning = Grundlovsafstemningsresultat(
for_stemmer = 35,
deltagende = 60,
stemmeberettigede = 100
)
(
lovforslag_forkastet_ved_folkeafstemning(almindelig_folkeafstemning)
&& grundlovsafstemning.opfylder_godkendelseskravet_i_par88() == Falskt
&& grundlovsafstemningens_tilslutningstærskel == Brøk(tæller = 2, nævner = 5)
)
}
--@end:audit_tvaergaaende_folkeafstemninger--
| tvaergaaende_par20_og_par88_adskiller_alternativ_og_fuld_procedure() -> {
= suverænitetsforslag_uden_fem_sjettedele = Suverænitetsforslag(
opbakning = Medlemsopbakning(antal = 149, medlemmer_i_alt = 179),
almindeligt_flertal_opnået = Sandt,
regeringen_opretholder_forslaget = Sandt
)
= grundlovsforslag_uden_nyvalg = Grundlovsforslagsforløb(
første_folketing_har_vedtaget = Sandt,
regeringen_vil_fremme_sagen = Sandt,
nyvalg_til_folketinget_udskrevet = Falskt,
det_følgende_folketing_har_vedtaget = Sandt,
skikkelse_ved_genvedtagelsen = UændretSkikkelse
)
(
suverænitetsforslagets_procedure(suverænitetsforslag_uden_fem_sjettedele) == ForelæggesFolketingsvælgerne
&& grundlovsforslag_uden_nyvalg.opfylder_forslagsforløbet_i_par88() == Falskt
&& suverænitetskrav == Brøk(tæller = 5, nævner = 6)
)
}
| tvaergaaende_par32_og_par89_deler_nyvalg_som_ophoershaendelse() -> {
= mandat_før_nyvalg = Mandatforhold(
nyvalg_afholdt = Falskt,
valgbarhed_bevaret = Sandt
)
= mandat_efter_nyvalg = Mandatforhold(
nyvalg_afholdt = Sandt,
valgbarhed_bevaret = Sandt
)
= overgang_før_nyvalg = Grundlovsovergang(fase = FørNyvalgEfterKapitelIV)
= overgang_efter_nyvalg = Grundlovsovergang(fase = EfterNyvalgEfterKapitelIV)
(
eksisterende_mandat_består(mandat_før_nyvalg)
&& eksisterende_mandat_består(mandat_efter_nyvalg) == Falskt
&& overgang_før_nyvalg.grundloven_er_i_kraft_efter_par89()
&& overgang_før_nyvalg.den_senest_valgte_rigsdag_består_efter_par89()
&& overgang_efter_nyvalg.den_senest_valgte_rigsdag_består_efter_par89() == Falskt
&& overgang_efter_nyvalg.de_tidligere_rigsdagsbestemmelser_er_i_kraft_efter_par89() == Falskt
)
}
| tvaergaaende_par57_og_par77_bevarer_forskellige_ansvarsmekanismer() -> {
= uden_samtykke = Ytringsansvarssag(folketingets_samtykke = IkkeGivet)
= med_samtykke = Ytringsansvarssag(folketingets_samtykke = Givet)
= talt_ytring = Ytringssag(form = Tale)
(
ansvar_uden_for_folketinget_for_ytring_opfylder_par57(uden_samtykke) == Falskt
&& ansvar_uden_for_folketinget_for_ytring_opfylder_par57(med_samtykke)
&& talt_ytring.offentliggørelse_er_under_ansvar_for_domstolene()
)
}
| tvaergaaende_par63_og_par71_bevarer_generel_og_saerlig_proevelse_adskilt() -> {
= øvrighedssag = Øvrighedsgrænsesag(
øvrighedens_befaling_foreløbigt_efterkommet = Sandt
)
= udlændingelovssag = AdministrativFrihedsberøvelse(
hører_til_strafferetsplejen = Falskt,
beslutning = IkkeBesluttetAfDømmendeMyndighed,
har_hjemmel_i_udlændingelovgivningen = Sandt,
begærer = DenFrihedsberøvede,
prøvelsesvej = AlmindeligeDomstole
)
(
øvrighedssag.kan_påkendes_af_domstolene_efter_par63_stk1()
&& udlændingelovssag.prøvelsespligt_indtræder_efter_par71_stk6() == Falskt
)
}
| tvaergaaende_audit_består() -> (
tvaergaaende_par29_og_par86_bevarer_hvert_sit_retsgrundlag()
&& tvaergaaende_par42_og_par88_har_forskellige_taerskeludfald()
&& tvaergaaende_par20_og_par88_adskiller_alternativ_og_fuld_procedure()
&& tvaergaaende_par32_og_par89_deler_nyvalg_som_ophoershaendelse()
&& tvaergaaende_par57_og_par77_bevarer_forskellige_ansvarsmekanismer()
&& tvaergaaende_par63_og_par71_bevarer_generel_og_saerlig_proevelse_adskilt()
)
= tvaergaaende_audit_resultat = tvaergaaende_audit_består()
| tvaergaaende_audit_holder: tvaergaaende_audit_resultat -> tvaergaaende_audit_resultat == Sandt
? tvaergaaende_audit_holder
Samlet prøvningsindgang
@ sprog da
-- Tynd samlet indgang til prøvningen af Grundlovens kildemodel. De konkrete
-- fortolkningsvalg prøves særskilt i grundlov-fortolkninger.scenario.runa.
@ importer ./grundlov - bestemmelser.audit
@ importer ./grundlov - procedurer.audit
@ importer ./grundlov - rettigheder.audit
@ importer ./grundlov - tvaergaaende.audit
| bestemmelser_audit_er_samlet: bestemmelser_audit_består() -> bestemmelser_audit_består() == Sandt
| procedurer_audit_er_samlet: procedurer_audit_består() -> procedurer_audit_består() == Sandt
| rettigheder_audit_er_samlet: rettigheder_audit_består() -> rettigheder_audit_består() == Sandt
| tvaergaaende_audit_er_samlet: tvaergaaende_audit_består() -> tvaergaaende_audit_består() == Sandt
= samlet_grundlovsaudit_resultat = (
bestemmelser_audit_består()
&& procedurer_audit_består()
&& rettigheder_audit_består()
&& tvaergaaende_audit_består()
)
| samlet_grundlovsaudit_holder: samlet_grundlovsaudit_resultat -> samlet_grundlovsaudit_resultat == Sandt
? bestemmelser_audit_er_samlet
? procedurer_audit_er_samlet
? rettigheder_audit_er_samlet
? tvaergaaende_audit_er_samlet
? samlet_grundlovsaudit_holder
? all -> {
@ skriv("Alle målrettede grundlovsprøvninger holder.")
} else {
@ skriv("En eller flere målrettede grundlovsprøvninger fejlede.")
}