mirror of
https://github.com/CatalaLang/catala.git
synced 2024-11-08 17:10:22 +03:00
42065 lines
2.7 MiB
Generated
42065 lines
2.7 MiB
Generated
(** This file has been generated by the Catala compiler, do not edit! *)
|
|
|
|
open Runtime_ocaml.Runtime
|
|
|
|
[@@@ocaml.warning "-4-26-27-32-41-42"]
|
|
|
|
module TypePret = struct
|
|
|
|
type t =
|
|
| D331_32 of unit
|
|
| D331_63_64 of unit
|
|
| D331_59_8 of unit
|
|
| D331_76_1 of unit
|
|
| Autre of unit
|
|
end
|
|
let embed_type_pret (x: TypePret.t) : runtime_value =
|
|
Enum(["TypePrêt"],
|
|
match x with
|
|
| D331_32 x -> ("D331_32", embed_unit x)
|
|
| D331_63_64 x -> ("D331_63_64", embed_unit x)
|
|
| D331_59_8 x -> ("D331_59_8", embed_unit x)
|
|
| D331_76_1 x -> ("D331_76_1", embed_unit x)
|
|
| Autre x -> ("Autre", embed_unit x))
|
|
|
|
|
|
module TitulairePret = struct
|
|
|
|
type t =
|
|
| Demandeur of unit
|
|
| VendeurQuandDemandeurAContratLocationAccession of unit
|
|
end
|
|
let embed_titulaire_pret (x: TitulairePret.t) : runtime_value =
|
|
Enum(["TitulairePrêt"],
|
|
match x with
|
|
| Demandeur x -> ("Demandeur", embed_unit x)
|
|
| VendeurQuandDemandeurAContratLocationAccession x ->
|
|
("VendeurQuandDemandeurAContratLocationAccession", embed_unit x))
|
|
|
|
|
|
module TypeTravauxLogementD83215 = struct
|
|
|
|
type t =
|
|
| TravauxPourAcquisitionD832_15_1 of unit
|
|
| TravauxSurLogementDejaAcquisD832_15_2 of unit
|
|
| PasDeTravaux of unit
|
|
end
|
|
let embed_type_travaux_logement_d832_15 (x: TypeTravauxLogementD83215.t)
|
|
: runtime_value =
|
|
Enum(["TypeTravauxLogementD832_15"],
|
|
match x with
|
|
| TravauxPourAcquisitionD832_15_1 x ->
|
|
("TravauxPourAcquisitionD832_15_1", embed_unit x)
|
|
| TravauxSurLogementDejaAcquisD832_15_2 x ->
|
|
("TravauxSurLogementDéjàAcquisD832_15_2", embed_unit x)
|
|
| PasDeTravaux x -> ("PasDeTravaux", embed_unit x))
|
|
|
|
|
|
module TypeTravauxLogementR8425 = struct
|
|
|
|
type t =
|
|
| ObjectifDecenceLogement of unit
|
|
| PrevuDansListeR321_15 of unit
|
|
| AgrandirOuRendreHabitableD331_63 of unit
|
|
| PasDeTravaux of unit
|
|
end
|
|
let embed_type_travaux_logement_r842_5 (x: TypeTravauxLogementR8425.t)
|
|
: runtime_value =
|
|
Enum(["TypeTravauxLogementR842_5"],
|
|
match x with
|
|
| ObjectifDecenceLogement x -> ("ObjectifDécenceLogement", embed_unit x)
|
|
| PrevuDansListeR321_15 x -> ("PrévuDansListeR321_15", embed_unit x)
|
|
| AgrandirOuRendreHabitableD331_63 x ->
|
|
("AgrandirOuRendreHabitableD331_63", embed_unit x)
|
|
| PasDeTravaux x -> ("PasDeTravaux", embed_unit x))
|
|
|
|
|
|
module AmelioreParOccupant = struct
|
|
type t =
|
|
| Oui of unit
|
|
| Non of unit
|
|
end
|
|
let embed_ameliore_par_occupant (x: AmelioreParOccupant.t) : runtime_value =
|
|
Enum(["AmélioréParOccupant"],
|
|
match x with
|
|
| Oui x -> ("Oui", embed_unit x)
|
|
| Non x -> ("Non", embed_unit x))
|
|
|
|
|
|
module LimiteTranche = struct
|
|
type t =
|
|
| Revenu of money
|
|
| Infini of unit
|
|
end
|
|
let embed_limite_tranche (x: LimiteTranche.t) : runtime_value =
|
|
Enum(["LimiteTranche"],
|
|
match x with
|
|
| Revenu x -> ("Revenu", embed_money x)
|
|
| Infini x -> ("Infini", embed_unit x))
|
|
|
|
|
|
module LimiteTrancheDecimal = struct
|
|
type t =
|
|
| Revenu of decimal
|
|
| Infini of unit
|
|
end
|
|
let embed_limite_tranche_decimal (x: LimiteTrancheDecimal.t)
|
|
: runtime_value =
|
|
Enum(["LimiteTrancheDécimal"],
|
|
match x with
|
|
| Revenu x -> ("Revenu", embed_decimal x)
|
|
| Infini x -> ("Infini", embed_unit x))
|
|
|
|
|
|
module PrestationRecue = struct
|
|
|
|
type t =
|
|
| AllocationsFamiliales of unit
|
|
| ComplementFamilial of unit
|
|
| AllocationSoutienFamilial of unit
|
|
| AllocationSoutienEnfantHandicape of unit
|
|
end
|
|
let embed_prestation_recue (x: PrestationRecue.t) : runtime_value =
|
|
Enum(["PrestationReçue"],
|
|
match x with
|
|
| AllocationsFamiliales x -> ("AllocationsFamiliales", embed_unit x)
|
|
| ComplementFamilial x -> ("ComplémentFamilial", embed_unit x)
|
|
| AllocationSoutienFamilial x ->
|
|
("AllocationSoutienFamilial", embed_unit x)
|
|
| AllocationSoutienEnfantHandicape x ->
|
|
("AllocationSoutienEnfantHandicapé", embed_unit x))
|
|
|
|
|
|
module ParentOuAutre = struct
|
|
|
|
type t =
|
|
| DemandeurOuConjointOuParentOuViaPartsSocietes of decimal
|
|
| Autre of unit
|
|
end
|
|
let embed_parent_ou_autre (x: ParentOuAutre.t) : runtime_value =
|
|
Enum(["ParentOuAutre"],
|
|
match x with
|
|
| DemandeurOuConjointOuParentOuViaPartsSocietes x ->
|
|
("DemandeurOuConjointOuParentOuViaPartsSociétés", embed_decimal x)
|
|
| Autre x -> ("Autre", embed_unit x))
|
|
|
|
|
|
module SituationGardeAlternee = struct
|
|
|
|
type t =
|
|
| PasDeGardeAlternee of unit
|
|
| GardeAlterneeCoefficientPriseEnCharge of decimal
|
|
end
|
|
let embed_situation_garde_alternee (x: SituationGardeAlternee.t)
|
|
: runtime_value =
|
|
Enum(["SituationGardeAlternée"],
|
|
match x with
|
|
| PasDeGardeAlternee x -> ("PasDeGardeAlternée", embed_unit x)
|
|
| GardeAlterneeCoefficientPriseEnCharge x ->
|
|
("GardeAlternéeCoefficientPriseEnCharge", embed_decimal x))
|
|
|
|
|
|
module Parente = struct
|
|
|
|
type t =
|
|
| Ascendant of unit
|
|
| Descendant of unit
|
|
| CollateralDeuxiemeTroisiemeDegre of unit
|
|
end
|
|
let embed_parente (x: Parente.t) : runtime_value =
|
|
Enum(["Parenté"],
|
|
match x with
|
|
| Ascendant x -> ("Ascendant", embed_unit x)
|
|
| Descendant x -> ("Descendant", embed_unit x)
|
|
| CollateralDeuxiemeTroisiemeDegre x ->
|
|
("CollatéralDeuxièmeTroisièmeDegré", embed_unit x))
|
|
|
|
|
|
module DateDeNaissanceOuMoisDeGrossesse = struct
|
|
|
|
type t =
|
|
| DateDeNaissance of date
|
|
| AvantPremierJourMoisCivilTroisiemeMoisDeGrossesse of unit
|
|
| ApresPremierJourMoisCivilTroisiemeMoisDeGrossesse of unit
|
|
end
|
|
let embed_date_de_naissance_ou_mois_de_grossesse
|
|
(x: DateDeNaissanceOuMoisDeGrossesse.t) : runtime_value =
|
|
Enum(["DateDeNaissanceOuMoisDeGrossesse"],
|
|
match x with
|
|
| DateDeNaissance x -> ("DateDeNaissance", embed_date x)
|
|
| AvantPremierJourMoisCivilTroisiemeMoisDeGrossesse x ->
|
|
("AvantPremierJourMoisCivilTroisièmeMoisDeGrossesse", embed_unit x)
|
|
| ApresPremierJourMoisCivilTroisiemeMoisDeGrossesse x ->
|
|
("AprèsPremierJourMoisCivilTroisièmeMoisDeGrossesse", embed_unit x))
|
|
|
|
|
|
module ZoneDHabitation = struct
|
|
type t =
|
|
| Zone1 of unit
|
|
| Zone2 of unit
|
|
| Zone3 of unit
|
|
end
|
|
let embed_zone_d_habitation (x: ZoneDHabitation.t) : runtime_value =
|
|
Enum(["ZoneDHabitation"],
|
|
match x with
|
|
| Zone1 x -> ("Zone1", embed_unit x)
|
|
| Zone2 x -> ("Zone2", embed_unit x)
|
|
| Zone3 x -> ("Zone3", embed_unit x))
|
|
|
|
|
|
module VersementA = struct
|
|
|
|
type t =
|
|
| Bailleur of unit
|
|
| Beneficiaire of unit
|
|
| EtablissementHabilite of unit
|
|
end
|
|
let embed_versement_a (x: VersementA.t) : runtime_value =
|
|
Enum(["VersementÀ"],
|
|
match x with
|
|
| Bailleur x -> ("Bailleur", embed_unit x)
|
|
| Beneficiaire x -> ("Bénéficiaire", embed_unit x)
|
|
| EtablissementHabilite x -> ("ÉtablissementHabilité", embed_unit x))
|
|
|
|
|
|
module DepenseLogement = struct
|
|
|
|
type t =
|
|
| TotalAnnuelEcheances of money
|
|
| Mensualite of money
|
|
| Loyer of money
|
|
end
|
|
let embed_depense_logement (x: DepenseLogement.t) : runtime_value =
|
|
Enum(["DépenseLogement"],
|
|
match x with
|
|
| TotalAnnuelEcheances x -> ("TotalAnnuelÉchéances", embed_money x)
|
|
| Mensualite x -> ("Mensualité", embed_money x)
|
|
| Loyer x -> ("Loyer", embed_money x))
|
|
|
|
|
|
module ModeOccupationImpaye = struct
|
|
type t =
|
|
| ImpayeLoyer of unit
|
|
| ImpayePret of unit
|
|
end
|
|
let embed_mode_occupation_impaye (x: ModeOccupationImpaye.t)
|
|
: runtime_value =
|
|
Enum(["ModeOccupationImpayé"],
|
|
match x with
|
|
| ImpayeLoyer x -> ("ImpayéLoyer", embed_unit x)
|
|
| ImpayePret x -> ("ImpayéPrêt", embed_unit x))
|
|
|
|
|
|
module TypeEligibiliteAllocationLogement = struct
|
|
|
|
type t =
|
|
| PasEligible of unit
|
|
| AllocationLogementFamiliale of unit
|
|
| AllocationLogementSociale of unit
|
|
end
|
|
let embed_type_eligibilite_allocation_logement
|
|
(x: TypeEligibiliteAllocationLogement.t) : runtime_value =
|
|
Enum(["TypeÉligibilitéAllocationLogement"],
|
|
match x with
|
|
| PasEligible x -> ("PasÉligible", embed_unit x)
|
|
| AllocationLogementFamiliale x ->
|
|
("AllocationLogementFamiliale", embed_unit x)
|
|
| AllocationLogementSociale x ->
|
|
("AllocationLogementSociale", embed_unit x))
|
|
|
|
|
|
module AccordFinancementRepresentantEtatOutreMer = struct
|
|
type t =
|
|
| Accord of date
|
|
| PasdAccord of unit
|
|
end
|
|
let embed_accord_financement_representant_etat_outre_mer
|
|
(x: AccordFinancementRepresentantEtatOutreMer.t) : runtime_value =
|
|
Enum(["AccordFinancementReprésentantÉtatOutreMer"],
|
|
match x with
|
|
| Accord x -> ("Accord", embed_date x)
|
|
| PasdAccord x -> ("PasdAccord", embed_unit x))
|
|
|
|
|
|
module TypeAidesPersonnelleLogement = struct
|
|
|
|
type t =
|
|
| AidePersonnaliseeLogement of unit
|
|
| AllocationLogementFamiliale of unit
|
|
| AllocationLogementSociale of unit
|
|
end
|
|
let embed_type_aides_personnelle_logement (x: TypeAidesPersonnelleLogement.t)
|
|
: runtime_value =
|
|
Enum(["TypeAidesPersonnelleLogement"],
|
|
match x with
|
|
| AidePersonnaliseeLogement x ->
|
|
("AidePersonnaliséeLogement", embed_unit x)
|
|
| AllocationLogementFamiliale x ->
|
|
("AllocationLogementFamiliale", embed_unit x)
|
|
| AllocationLogementSociale x ->
|
|
("AllocationLogementSociale", embed_unit x))
|
|
|
|
|
|
module SituationFamiliale = struct
|
|
|
|
type t =
|
|
| Celibataire of unit
|
|
| Maries of date
|
|
| Pacses of unit
|
|
| Concubins of unit
|
|
| CelibataireSepareDeFait of unit
|
|
| ConcubinageDontSepareDeFait of unit
|
|
end
|
|
let embed_situation_familiale (x: SituationFamiliale.t) : runtime_value =
|
|
Enum(["SituationFamiliale"],
|
|
match x with
|
|
| Celibataire x -> ("Célibataire", embed_unit x)
|
|
| Maries x -> ("Mariés", embed_date x)
|
|
| Pacses x -> ("Pacsés", embed_unit x)
|
|
| Concubins x -> ("Concubins", embed_unit x)
|
|
| CelibataireSepareDeFait x ->
|
|
("CélibataireSéparéDeFait", embed_unit x)
|
|
| ConcubinageDontSepareDeFait x ->
|
|
("ConcubinageDontSéparéDeFait", embed_unit x))
|
|
|
|
|
|
module TypeLogementFoyer = struct
|
|
|
|
type t =
|
|
| LogementPersonnesAgeesOuHandicapees of unit
|
|
| ResidenceSociale of unit
|
|
| FoyerJeunesTrvailleursOuMigrantsConventionneL353_2Avant1995 of unit
|
|
| Autre of unit
|
|
end
|
|
let embed_type_logement_foyer (x: TypeLogementFoyer.t) : runtime_value =
|
|
Enum(["TypeLogementFoyer"],
|
|
match x with
|
|
| LogementPersonnesAgeesOuHandicapees x ->
|
|
("LogementPersonnesÂgéesOuHandicapées", embed_unit x)
|
|
| ResidenceSociale x -> ("RésidenceSociale", embed_unit x)
|
|
| FoyerJeunesTrvailleursOuMigrantsConventionneL353_2Avant1995 x ->
|
|
("FoyerJeunesTrvailleursOuMigrantsConventionnéL353_2Avant1995", embed_unit x)
|
|
| Autre x -> ("Autre", embed_unit x))
|
|
|
|
|
|
module CategorieEquivalenceLoyerAllocationLogementFoyer = struct
|
|
|
|
type t =
|
|
| EtudiantLogeEnChambreCROUS of unit
|
|
| EtudiantLogeEnChambreCROUSRehabilitee of unit
|
|
| PersonnesAgeesSelon3DeD842_16 of unit
|
|
| AutresPersonnes of unit
|
|
end
|
|
let embed_categorie_equivalence_loyer_allocation_logement_foyer
|
|
(x: CategorieEquivalenceLoyerAllocationLogementFoyer.t) : runtime_value =
|
|
Enum(["CatégorieÉquivalenceLoyerAllocationLogementFoyer"],
|
|
match x with
|
|
| EtudiantLogeEnChambreCROUS x ->
|
|
("ÉtudiantLogéEnChambreCROUS", embed_unit x)
|
|
| EtudiantLogeEnChambreCROUSRehabilitee x ->
|
|
("ÉtudiantLogéEnChambreCROUSRéhabilitée", embed_unit x)
|
|
| PersonnesAgeesSelon3DeD842_16 x ->
|
|
("PersonnesÂgéesSelon3DeD842_16", embed_unit x)
|
|
| AutresPersonnes x -> ("AutresPersonnes", embed_unit x))
|
|
|
|
|
|
module SituationFamilialeCalculAPL = struct
|
|
type t =
|
|
| PersonneSeule of unit
|
|
| Couple of unit
|
|
end
|
|
let embed_situation_familiale_calcul_a_p_l (x: SituationFamilialeCalculAPL.t)
|
|
: runtime_value =
|
|
Enum(["SituationFamilialeCalculAPL"],
|
|
match x with
|
|
| PersonneSeule x -> ("PersonneSeule", embed_unit x)
|
|
| Couple x -> ("Couple", embed_unit x))
|
|
|
|
|
|
module Collectivite = struct
|
|
|
|
type t =
|
|
| Guadeloupe of unit
|
|
| Guyane of unit
|
|
| Martinique of unit
|
|
| LaReunion of unit
|
|
| SaintBarthelemy of unit
|
|
| SaintMartin of unit
|
|
| Metropole of unit
|
|
| SaintPierreEtMiquelon of unit
|
|
| Mayotte of unit
|
|
end
|
|
let embed_collectivite (x: Collectivite.t) : runtime_value =
|
|
Enum(["Collectivité"],
|
|
match x with
|
|
| Guadeloupe x -> ("Guadeloupe", embed_unit x)
|
|
| Guyane x -> ("Guyane", embed_unit x)
|
|
| Martinique x -> ("Martinique", embed_unit x)
|
|
| LaReunion x -> ("LaRéunion", embed_unit x)
|
|
| SaintBarthelemy x -> ("SaintBarthélemy", embed_unit x)
|
|
| SaintMartin x -> ("SaintMartin", embed_unit x)
|
|
| Metropole x -> ("Métropole", embed_unit x)
|
|
| SaintPierreEtMiquelon x -> ("SaintPierreEtMiquelon", embed_unit x)
|
|
| Mayotte x -> ("Mayotte", embed_unit x))
|
|
|
|
|
|
module SituationObligationScolaire = struct
|
|
type t =
|
|
| Avant of unit
|
|
| Pendant of unit
|
|
| Apres of unit
|
|
end
|
|
let embed_situation_obligation_scolaire (x: SituationObligationScolaire.t)
|
|
: runtime_value =
|
|
Enum(["SituationObligationScolaire"],
|
|
match x with
|
|
| Avant x -> ("Avant", embed_unit x)
|
|
| Pendant x -> ("Pendant", embed_unit x)
|
|
| Apres x -> ("Après", embed_unit x))
|
|
|
|
|
|
module ConventionBailleurSocial = struct
|
|
type t = {
|
|
conventionne_livre_III_titre_V_chap_III: bool;
|
|
reduction_loyer_solidarite_percue: money
|
|
}
|
|
end
|
|
let embed_convention_bailleur_social (x: ConventionBailleurSocial.t) : runtime_value =
|
|
Struct(["ConventionBailleurSocial"],
|
|
[("conventionné_livre_III_titre_V_chap_III", embed_bool
|
|
x.ConventionBailleurSocial.conventionne_livre_III_titre_V_chap_III);
|
|
("réduction_loyer_solidarité_perçue", embed_money
|
|
x.ConventionBailleurSocial.reduction_loyer_solidarite_percue)])
|
|
|
|
|
|
module ConventionANHA = struct
|
|
type t = {conventionne_livre_III_titre_II_chap_I_sec_3: bool}
|
|
end
|
|
let embed_convention_a_n_h_a (x: ConventionANHA.t) : runtime_value =
|
|
Struct(["ConventionANHA"],
|
|
[("conventionné_livre_III_titre_II_chap_I_sec_3", embed_bool
|
|
x.ConventionANHA.conventionne_livre_III_titre_II_chap_I_sec_3)])
|
|
|
|
|
|
module PersonneSousLocation = struct
|
|
type t = {
|
|
date_naissance_personne_sous_location: date;
|
|
conforme_article_l442_1: bool
|
|
}
|
|
end
|
|
let embed_personne_sous_location (x: PersonneSousLocation.t) : runtime_value =
|
|
Struct(["PersonneSousLocation"],
|
|
[("date_naissance_personne_sous_location", embed_date
|
|
x.PersonneSousLocation.date_naissance_personne_sous_location);
|
|
("conforme_article_l442_1", embed_bool
|
|
x.PersonneSousLocation.conforme_article_l442_1)])
|
|
|
|
|
|
module ConditionsEtrangers = struct
|
|
type t = {
|
|
satisfait_conditions_l512_2_code_securite_sociale: bool;
|
|
satisfait_art_4_ordonnance_2002_mayotte: bool
|
|
}
|
|
end
|
|
let embed_conditions_etrangers (x: ConditionsEtrangers.t) : runtime_value =
|
|
Struct(["ConditionsÉtrangers"],
|
|
[("satisfait_conditions_l512_2_code_sécurité_sociale", embed_bool
|
|
x.ConditionsEtrangers.satisfait_conditions_l512_2_code_securite_sociale);
|
|
("satisfait_art_4_ordonnance_2002_mayotte", embed_bool
|
|
x.ConditionsEtrangers.satisfait_art_4_ordonnance_2002_mayotte)])
|
|
|
|
|
|
module EligibiliteAidePersonnaliseeLogement = struct
|
|
type t = {
|
|
date_courante: date;
|
|
eligibilite: bool;
|
|
nombre_personnes_a_charge_prises_en_compte: integer;
|
|
coefficents_enfants_garde_alternee_pris_en_compte: decimal array
|
|
}
|
|
end
|
|
let embed_eligibilite_aide_personnalisee_logement (x: EligibiliteAidePersonnaliseeLogement.t) : runtime_value =
|
|
Struct(["ÉligibilitéAidePersonnaliséeLogement"],
|
|
[("date_courante", embed_date
|
|
x.EligibiliteAidePersonnaliseeLogement.date_courante);
|
|
("éligibilité", embed_bool
|
|
x.EligibiliteAidePersonnaliseeLogement.eligibilite);
|
|
("nombre_personnes_à_charge_prises_en_compte", embed_integer
|
|
x.EligibiliteAidePersonnaliseeLogement.nombre_personnes_a_charge_prises_en_compte);
|
|
("coefficents_enfants_garde_alternée_pris_en_compte",
|
|
embed_array (embed_decimal)
|
|
x.EligibiliteAidePersonnaliseeLogement.coefficents_enfants_garde_alternee_pris_en_compte)])
|
|
|
|
|
|
module EligibilitePrimeDeDemenagement = struct
|
|
type t = {eligibilite: bool; montant_prime_demenagement: money}
|
|
end
|
|
let embed_eligibilite_prime_de_demenagement (x: EligibilitePrimeDeDemenagement.t) : runtime_value =
|
|
Struct(["ÉligibilitéPrimeDeDéménagement"],
|
|
[("éligibilité", embed_bool
|
|
x.EligibilitePrimeDeDemenagement.eligibilite);
|
|
("montant_prime_déménagement", embed_money
|
|
x.EligibilitePrimeDeDemenagement.montant_prime_demenagement)])
|
|
|
|
|
|
module ContributionsSocialesAidesPersonnelleLogement = struct
|
|
type t = {montant: money -> money}
|
|
end
|
|
let embed_contributions_sociales_aides_personnelle_logement (x: ContributionsSocialesAidesPersonnelleLogement.t) : runtime_value =
|
|
Struct(["ContributionsSocialesAidesPersonnelleLogement"],
|
|
[("montant", unembeddable
|
|
x.ContributionsSocialesAidesPersonnelleLogement.montant)])
|
|
|
|
|
|
module CalculAidePersonnaliseeLogementLocatif = struct
|
|
type t = {
|
|
montant_forfaitaire_charges_d823_16: money;
|
|
plafond_loyer_d823_16_2: money;
|
|
participation_minimale: money;
|
|
taux_composition_familiale: decimal;
|
|
participation_personnelle: money;
|
|
aide_finale_formule: money;
|
|
traitement_aide_finale: money -> money
|
|
}
|
|
end
|
|
let embed_calcul_aide_personnalisee_logement_locatif (x: CalculAidePersonnaliseeLogementLocatif.t) : runtime_value =
|
|
Struct(["CalculAidePersonnaliséeLogementLocatif"],
|
|
[("montant_forfaitaire_charges_d823_16", embed_money
|
|
x.CalculAidePersonnaliseeLogementLocatif.montant_forfaitaire_charges_d823_16);
|
|
("plafond_loyer_d823_16_2", embed_money
|
|
x.CalculAidePersonnaliseeLogementLocatif.plafond_loyer_d823_16_2);
|
|
("participation_minimale", embed_money
|
|
x.CalculAidePersonnaliseeLogementLocatif.participation_minimale);
|
|
("taux_composition_familiale", embed_decimal
|
|
x.CalculAidePersonnaliseeLogementLocatif.taux_composition_familiale);
|
|
("participation_personnelle", embed_money
|
|
x.CalculAidePersonnaliseeLogementLocatif.participation_personnelle);
|
|
("aide_finale_formule", embed_money
|
|
x.CalculAidePersonnaliseeLogementLocatif.aide_finale_formule);
|
|
("traitement_aide_finale", unembeddable
|
|
x.CalculAidePersonnaliseeLogementLocatif.traitement_aide_finale)])
|
|
|
|
|
|
module CalculEquivalenceLoyerMinimale = struct
|
|
type t = {montant: money}
|
|
end
|
|
let embed_calcul_equivalence_loyer_minimale (x: CalculEquivalenceLoyerMinimale.t) : runtime_value =
|
|
Struct(["CalculÉquivalenceLoyerMinimale"],
|
|
[("montant", embed_money x.CalculEquivalenceLoyerMinimale.montant)])
|
|
|
|
|
|
module CalculNombrePartLogementFoyer = struct
|
|
type t = {n_nombre_parts_d832_25: decimal}
|
|
end
|
|
let embed_calcul_nombre_part_logement_foyer (x: CalculNombrePartLogementFoyer.t) : runtime_value =
|
|
Struct(["CalculNombrePartLogementFoyer"],
|
|
[("n_nombre_parts_d832_25", embed_decimal
|
|
x.CalculNombrePartLogementFoyer.n_nombre_parts_d832_25)])
|
|
|
|
|
|
module CalculAidePersonnaliseeLogementFoyer = struct
|
|
type t = {
|
|
coefficient_multiplicateur_d832_25: money;
|
|
coefficient_r_d832_25: money;
|
|
n_nombre_parts_d832_25: decimal;
|
|
equivalence_loyer_eligible: money;
|
|
plafond_equivalence_loyer_eligible: money;
|
|
equivalence_loyer_minimale: money;
|
|
coefficient_prise_en_charge_d832_25: decimal;
|
|
aide_finale_formule: money;
|
|
traitement_aide_finale: money -> money
|
|
}
|
|
end
|
|
let embed_calcul_aide_personnalisee_logement_foyer (x: CalculAidePersonnaliseeLogementFoyer.t) : runtime_value =
|
|
Struct(["CalculAidePersonnaliséeLogementFoyer"],
|
|
[("coefficient_multiplicateur_d832_25", embed_money
|
|
x.CalculAidePersonnaliseeLogementFoyer.coefficient_multiplicateur_d832_25);
|
|
("coefficient_r_d832_25", embed_money
|
|
x.CalculAidePersonnaliseeLogementFoyer.coefficient_r_d832_25);
|
|
("n_nombre_parts_d832_25", embed_decimal
|
|
x.CalculAidePersonnaliseeLogementFoyer.n_nombre_parts_d832_25);
|
|
("équivalence_loyer_éligible", embed_money
|
|
x.CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_eligible);
|
|
("plafond_équivalence_loyer_éligible", embed_money
|
|
x.CalculAidePersonnaliseeLogementFoyer.plafond_equivalence_loyer_eligible);
|
|
("équivalence_loyer_minimale", embed_money
|
|
x.CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_minimale);
|
|
("coefficient_prise_en_charge_d832_25", embed_decimal
|
|
x.CalculAidePersonnaliseeLogementFoyer.coefficient_prise_en_charge_d832_25);
|
|
("aide_finale_formule", embed_money
|
|
x.CalculAidePersonnaliseeLogementFoyer.aide_finale_formule);
|
|
("traitement_aide_finale", unembeddable
|
|
x.CalculAidePersonnaliseeLogementFoyer.traitement_aide_finale)])
|
|
|
|
|
|
module CalculNombrePartsAccessionPropriete = struct
|
|
type t = {n_nombre_parts_d832_11: decimal}
|
|
end
|
|
let embed_calcul_nombre_parts_accession_propriete (x: CalculNombrePartsAccessionPropriete.t) : runtime_value =
|
|
Struct(["CalculNombrePartsAccessionPropriété"],
|
|
[("n_nombre_parts_d832_11", embed_decimal
|
|
x.CalculNombrePartsAccessionPropriete.n_nombre_parts_d832_11)])
|
|
|
|
|
|
module CalculAidePersonnaliseeLogementAccessionPropriete = struct
|
|
type t = {
|
|
mensualite_eligible: money;
|
|
mensualite_minimale: money;
|
|
coefficient_prise_en_charge_d832_10: decimal;
|
|
aide_finale_formule: money;
|
|
traitement_aide_finale: money -> money
|
|
}
|
|
end
|
|
let embed_calcul_aide_personnalisee_logement_accession_propriete (x: CalculAidePersonnaliseeLogementAccessionPropriete.t) : runtime_value =
|
|
Struct(["CalculAidePersonnaliséeLogementAccessionPropriété"],
|
|
[("mensualité_éligible", embed_money
|
|
x.CalculAidePersonnaliseeLogementAccessionPropriete.mensualite_eligible);
|
|
("mensualité_minimale", embed_money
|
|
x.CalculAidePersonnaliseeLogementAccessionPropriete.mensualite_minimale);
|
|
("coefficient_prise_en_charge_d832_10", embed_decimal
|
|
x.CalculAidePersonnaliseeLogementAccessionPropriete.coefficient_prise_en_charge_d832_10);
|
|
("aide_finale_formule", embed_money
|
|
x.CalculAidePersonnaliseeLogementAccessionPropriete.aide_finale_formule);
|
|
("traitement_aide_finale", unembeddable
|
|
x.CalculAidePersonnaliseeLogementAccessionPropriete.traitement_aide_finale)])
|
|
|
|
|
|
module TraitementFormuleAideFinale = struct
|
|
type t = {
|
|
aide_finale_formule: money;
|
|
traitement_aide_finale: money -> money
|
|
}
|
|
end
|
|
let embed_traitement_formule_aide_finale (x: TraitementFormuleAideFinale.t) : runtime_value =
|
|
Struct(["Traitement_formule_aide_finale"],
|
|
[("aide_finale_formule", embed_money
|
|
x.TraitementFormuleAideFinale.aide_finale_formule);
|
|
("traitement_aide_finale", unembeddable
|
|
x.TraitementFormuleAideFinale.traitement_aide_finale)])
|
|
|
|
|
|
module CalculAidePersonnaliseeLogement = struct
|
|
type t = {
|
|
aide_finale_formule: money;
|
|
traitement_aide_finale: money -> money
|
|
}
|
|
end
|
|
let embed_calcul_aide_personnalisee_logement (x: CalculAidePersonnaliseeLogement.t) : runtime_value =
|
|
Struct(["CalculAidePersonnaliséeLogement"],
|
|
[("aide_finale_formule", embed_money
|
|
x.CalculAidePersonnaliseeLogement.aide_finale_formule);
|
|
("traitement_aide_finale", unembeddable
|
|
x.CalculAidePersonnaliseeLogement.traitement_aide_finale)])
|
|
|
|
|
|
module InfosChangementLogementD8424 = struct
|
|
type t = {
|
|
ancien_loyer_principal: money;
|
|
ancienne_allocation_logement: money
|
|
}
|
|
end
|
|
let embed_infos_changement_logement_d842_4 (x: InfosChangementLogementD8424.t) : runtime_value =
|
|
Struct(["InfosChangementLogementD842_4"],
|
|
[("ancien_loyer_principal", embed_money
|
|
x.InfosChangementLogementD8424.ancien_loyer_principal);
|
|
("ancienne_allocation_logement", embed_money
|
|
x.InfosChangementLogementD8424.ancienne_allocation_logement)])
|
|
|
|
|
|
module CalculAllocationLogementLocatif = struct
|
|
type t = {
|
|
aide_finale_formule: money;
|
|
traitement_aide_finale: money -> money
|
|
}
|
|
end
|
|
let embed_calcul_allocation_logement_locatif (x: CalculAllocationLogementLocatif.t) : runtime_value =
|
|
Struct(["CalculAllocationLogementLocatif"],
|
|
[("aide_finale_formule", embed_money
|
|
x.CalculAllocationLogementLocatif.aide_finale_formule);
|
|
("traitement_aide_finale", unembeddable
|
|
x.CalculAllocationLogementLocatif.traitement_aide_finale)])
|
|
|
|
|
|
module CalculAllocationLogementAccessionPropriete = struct
|
|
type t = {
|
|
mensualite_eligible: money;
|
|
mensualite_minimale: money;
|
|
coefficient_prise_en_charge: decimal;
|
|
aide_finale_formule: money;
|
|
traitement_aide_finale: money -> money
|
|
}
|
|
end
|
|
let embed_calcul_allocation_logement_accession_propriete (x: CalculAllocationLogementAccessionPropriete.t) : runtime_value =
|
|
Struct(["CalculAllocationLogementAccessionPropriété"],
|
|
[("mensualité_éligible", embed_money
|
|
x.CalculAllocationLogementAccessionPropriete.mensualite_eligible);
|
|
("mensualité_minimale", embed_money
|
|
x.CalculAllocationLogementAccessionPropriete.mensualite_minimale);
|
|
("coefficient_prise_en_charge", embed_decimal
|
|
x.CalculAllocationLogementAccessionPropriete.coefficient_prise_en_charge);
|
|
("aide_finale_formule", embed_money
|
|
x.CalculAllocationLogementAccessionPropriete.aide_finale_formule);
|
|
("traitement_aide_finale", unembeddable
|
|
x.CalculAllocationLogementAccessionPropriete.traitement_aide_finale)])
|
|
|
|
|
|
module CalculAllocationLogementFoyer = struct
|
|
type t = {
|
|
coefficient_prise_en_charge: decimal;
|
|
equivalence_loyer: money;
|
|
montant_forfaitaire_charges: money;
|
|
loyer_minimal: money;
|
|
aide_finale_formule: money;
|
|
traitement_aide_finale: money -> money
|
|
}
|
|
end
|
|
let embed_calcul_allocation_logement_foyer (x: CalculAllocationLogementFoyer.t) : runtime_value =
|
|
Struct(["CalculAllocationLogementFoyer"],
|
|
[("coefficient_prise_en_charge", embed_decimal
|
|
x.CalculAllocationLogementFoyer.coefficient_prise_en_charge);
|
|
("équivalence_loyer", embed_money
|
|
x.CalculAllocationLogementFoyer.equivalence_loyer);
|
|
("montant_forfaitaire_charges", embed_money
|
|
x.CalculAllocationLogementFoyer.montant_forfaitaire_charges);
|
|
("loyer_minimal", embed_money
|
|
x.CalculAllocationLogementFoyer.loyer_minimal);
|
|
("aide_finale_formule", embed_money
|
|
x.CalculAllocationLogementFoyer.aide_finale_formule);
|
|
("traitement_aide_finale", unembeddable
|
|
x.CalculAllocationLogementFoyer.traitement_aide_finale)])
|
|
|
|
|
|
module CalculAllocationLogement = struct
|
|
type t = {
|
|
aide_finale_formule: money;
|
|
traitement_aide_finale: money -> money
|
|
}
|
|
end
|
|
let embed_calcul_allocation_logement (x: CalculAllocationLogement.t) : runtime_value =
|
|
Struct(["CalculAllocationLogement"],
|
|
[("aide_finale_formule", embed_money
|
|
x.CalculAllocationLogement.aide_finale_formule);
|
|
("traitement_aide_finale", unembeddable
|
|
x.CalculAllocationLogement.traitement_aide_finale)])
|
|
|
|
|
|
module OuvertureDroitsRetraite = struct
|
|
type t = {age_ouverture_droit: duration}
|
|
end
|
|
let embed_ouverture_droits_retraite (x: OuvertureDroitsRetraite.t) : runtime_value =
|
|
Struct(["OuvertureDroitsRetraite"],
|
|
[("âge_ouverture_droit", embed_duration
|
|
x.OuvertureDroitsRetraite.age_ouverture_droit)])
|
|
|
|
|
|
module ImpayeDepenseLogement = struct
|
|
type t = {montant_impaye: money}
|
|
end
|
|
let embed_impaye_depense_logement (x: ImpayeDepenseLogement.t) : runtime_value =
|
|
Struct(["ImpayéDépenseLogement"],
|
|
[("montant_impayé", embed_money x.ImpayeDepenseLogement.montant_impaye)])
|
|
|
|
|
|
module CalculetteAidesAuLogement = struct
|
|
type t = {
|
|
eligibilite: bool;
|
|
aide_finale_formule: money;
|
|
traitement_aide_finale: money -> money;
|
|
coefficents_enfants_garde_alternee_pris_en_compte: decimal array
|
|
}
|
|
end
|
|
let embed_calculette_aides_au_logement (x: CalculetteAidesAuLogement.t) : runtime_value =
|
|
Struct(["CalculetteAidesAuLogement"],
|
|
[("éligibilité", embed_bool
|
|
x.CalculetteAidesAuLogement.eligibilite);
|
|
("aide_finale_formule", embed_money
|
|
x.CalculetteAidesAuLogement.aide_finale_formule);
|
|
("traitement_aide_finale", unembeddable
|
|
x.CalculetteAidesAuLogement.traitement_aide_finale);
|
|
("coefficents_enfants_garde_alternée_pris_en_compte",
|
|
embed_array (embed_decimal)
|
|
x.CalculetteAidesAuLogement.coefficents_enfants_garde_alternee_pris_en_compte)])
|
|
|
|
|
|
module CalculetteAidesAuLogementGardeAlternee = struct
|
|
type t = {eligibilite: bool; aide_finale: money}
|
|
end
|
|
let embed_calculette_aides_au_logement_garde_alternee (x: CalculetteAidesAuLogementGardeAlternee.t) : runtime_value =
|
|
Struct(["CalculetteAidesAuLogementGardeAlternée"],
|
|
[("éligibilité", embed_bool
|
|
x.CalculetteAidesAuLogementGardeAlternee.eligibilite);
|
|
("aide_finale", embed_money
|
|
x.CalculetteAidesAuLogementGardeAlternee.aide_finale)])
|
|
|
|
|
|
module BaseMensuelleAllocationsFamiliales = struct
|
|
type t = {montant: money}
|
|
end
|
|
let embed_base_mensuelle_allocations_familiales (x: BaseMensuelleAllocationsFamiliales.t) : runtime_value =
|
|
Struct(["BaseMensuelleAllocationsFamiliales"],
|
|
[("montant", embed_money x.BaseMensuelleAllocationsFamiliales.montant)])
|
|
|
|
|
|
module VerificationAgeInferieurOuEgalA = struct
|
|
type t = {est_inferieur_ou_egal: bool}
|
|
end
|
|
let embed_verification_age_inferieur_ou_egal_a (x: VerificationAgeInferieurOuEgalA.t) : runtime_value =
|
|
Struct(["VérificationÂgeInférieurOuÉgalÀ"],
|
|
[("est_inférieur_ou_égal", embed_bool
|
|
x.VerificationAgeInferieurOuEgalA.est_inferieur_ou_egal)])
|
|
|
|
|
|
module VerificationAgeSuperieurA = struct
|
|
type t = {est_superieur: bool}
|
|
end
|
|
let embed_verification_age_superieur_a (x: VerificationAgeSuperieurA.t) : runtime_value =
|
|
Struct(["VérificationÂgeSupérieurÀ"],
|
|
[("est_supérieur", embed_bool x.VerificationAgeSuperieurA.est_superieur)])
|
|
|
|
|
|
module Smic = struct
|
|
type t = {brut_horaire: money}
|
|
end
|
|
let embed_smic (x: Smic.t) : runtime_value = Struct(["Smic"],
|
|
[("brut_horaire", embed_money x.Smic.brut_horaire)])
|
|
|
|
|
|
module NeufOuAncien = struct
|
|
type t =
|
|
| Neuf of unit
|
|
| Ancien of AmelioreParOccupant.t
|
|
end
|
|
let embed_neuf_ou_ancien (x: NeufOuAncien.t) : runtime_value =
|
|
Enum(["NeufOuAncien"],
|
|
match x with
|
|
| Neuf x -> ("Neuf", embed_unit x)
|
|
| Ancien x -> ("Ancien", embed_ameliore_par_occupant x))
|
|
|
|
|
|
module TrancheRevenu = struct
|
|
type t = {haut: LimiteTranche.t; bas: money; taux: decimal}
|
|
end
|
|
let embed_tranche_revenu (x: TrancheRevenu.t) : runtime_value =
|
|
Struct(["TrancheRevenu"],
|
|
[("haut", embed_limite_tranche x.TrancheRevenu.haut);
|
|
("bas", embed_money x.TrancheRevenu.bas);
|
|
("taux", embed_decimal x.TrancheRevenu.taux)])
|
|
|
|
|
|
module TrancheRevenuDecimal = struct
|
|
type t = {haut: LimiteTrancheDecimal.t; bas: decimal; taux: decimal}
|
|
end
|
|
let embed_tranche_revenu_decimal (x: TrancheRevenuDecimal.t) : runtime_value =
|
|
Struct(["TrancheRevenuDécimal"],
|
|
[("haut", embed_limite_tranche_decimal x.TrancheRevenuDecimal.haut);
|
|
("bas", embed_decimal x.TrancheRevenuDecimal.bas);
|
|
("taux", embed_decimal x.TrancheRevenuDecimal.taux)])
|
|
|
|
|
|
module AutrePersonneACharge = struct
|
|
type t = {
|
|
date_naissance: date;
|
|
ressources: money;
|
|
ascendant_descendant_collateral_deuxieme_troisieme_degre: bool;
|
|
parente: Parente.t;
|
|
incapacite_80_pourcent_ou_restriction_emploi: bool;
|
|
beneficiaire_l161_19_l351_8_l643_3_secu: bool;
|
|
titulaire_allocation_personne_agee: bool
|
|
}
|
|
end
|
|
let embed_autre_personne_a_charge (x: AutrePersonneACharge.t) : runtime_value =
|
|
Struct(["AutrePersonneÀCharge"],
|
|
[("date_naissance", embed_date
|
|
x.AutrePersonneACharge.date_naissance);
|
|
("ressources", embed_money
|
|
x.AutrePersonneACharge.ressources);
|
|
("ascendant_descendant_collatéral_deuxième_troisième_degré",
|
|
embed_bool
|
|
x.AutrePersonneACharge.ascendant_descendant_collateral_deuxieme_troisieme_degre);
|
|
("parenté", embed_parente
|
|
x.AutrePersonneACharge.parente);
|
|
("incapacité_80_pourcent_ou_restriction_emploi", embed_bool
|
|
x.AutrePersonneACharge.incapacite_80_pourcent_ou_restriction_emploi);
|
|
("bénéficiaire_l161_19_l351_8_l643_3_sécu", embed_bool
|
|
x.AutrePersonneACharge.beneficiaire_l161_19_l351_8_l643_3_secu);
|
|
("titulaire_allocation_personne_âgée", embed_bool
|
|
x.AutrePersonneACharge.titulaire_allocation_personne_agee)])
|
|
|
|
|
|
module DateNaissanceTroisiemeOuDernierPlusEnfant = struct
|
|
|
|
type t =
|
|
| MoinsDeTroisEnfants of unit
|
|
| PlusDeTroisEnfants of DateDeNaissanceOuMoisDeGrossesse.t
|
|
end
|
|
let embed_date_naissance_troisieme_ou_dernier_plus_enfant
|
|
(x: DateNaissanceTroisiemeOuDernierPlusEnfant.t) : runtime_value =
|
|
Enum(["DateNaissanceTroisièmeOuDernierPlusEnfant"],
|
|
match x with
|
|
| MoinsDeTroisEnfants x -> ("MoinsDeTroisEnfants", embed_unit x)
|
|
| PlusDeTroisEnfants x ->
|
|
("PlusDeTroisEnfants", embed_date_de_naissance_ou_mois_de_grossesse x))
|
|
|
|
|
|
module EligibiliteAllocationLogement = struct
|
|
type t = {
|
|
eligibilite: TypeEligibiliteAllocationLogement.t;
|
|
nombre_personnes_a_charge_prises_en_compte: integer;
|
|
coefficents_enfants_garde_alternee_pris_en_compte: decimal array
|
|
}
|
|
end
|
|
let embed_eligibilite_allocation_logement (x: EligibiliteAllocationLogement.t) : runtime_value =
|
|
Struct(["ÉligibilitéAllocationLogement"],
|
|
[("éligibilité", embed_type_eligibilite_allocation_logement
|
|
x.EligibiliteAllocationLogement.eligibilite);
|
|
("nombre_personnes_à_charge_prises_en_compte", embed_integer
|
|
x.EligibiliteAllocationLogement.nombre_personnes_a_charge_prises_en_compte);
|
|
("coefficents_enfants_garde_alternée_pris_en_compte",
|
|
embed_array (embed_decimal)
|
|
x.EligibiliteAllocationLogement.coefficents_enfants_garde_alternee_pris_en_compte)])
|
|
|
|
|
|
module Pret = struct
|
|
type t = {
|
|
type_pret: TypePret.t;
|
|
date_signature: date;
|
|
titulaire_pret: TitulairePret.t;
|
|
accord_financement_representant_Etat_outre_mer:
|
|
AccordFinancementRepresentantEtatOutreMer.t
|
|
}
|
|
end
|
|
let embed_pret (x: Pret.t) : runtime_value = Struct(["Prêt"],
|
|
[("type_prêt", embed_type_pret x.Pret.type_pret);
|
|
("date_signature", embed_date x.Pret.date_signature);
|
|
("titulaire_prêt", embed_titulaire_pret
|
|
x.Pret.titulaire_pret);
|
|
("accord_financement_représentant_État_outre_mer",
|
|
embed_accord_financement_representant_etat_outre_mer
|
|
x.Pret.accord_financement_representant_Etat_outre_mer)])
|
|
|
|
|
|
module LogementFoyer = struct
|
|
type t = {
|
|
type_user: TypeLogementFoyer.t;
|
|
remplit_conditions_r832_21: bool;
|
|
conventionne_livre_III_titre_V_chap_III: bool;
|
|
conventionne_selon_regles_drom: bool;
|
|
date_conventionnement: date;
|
|
construit_application_loi_1957_12_III: bool;
|
|
redevance: money;
|
|
categorie_equivalence_loyer_d842_16:
|
|
CategorieEquivalenceLoyerAllocationLogementFoyer.t;
|
|
beneficiaire_aide_adulte_ou_enfant_handicapes: bool;
|
|
logement_meuble_d842_2: bool
|
|
}
|
|
end
|
|
let embed_logement_foyer (x: LogementFoyer.t) : runtime_value =
|
|
Struct(["LogementFoyer"],
|
|
[("type", embed_type_logement_foyer
|
|
x.LogementFoyer.type_user);
|
|
("remplit_conditions_r832_21", embed_bool
|
|
x.LogementFoyer.remplit_conditions_r832_21);
|
|
("conventionné_livre_III_titre_V_chap_III", embed_bool
|
|
x.LogementFoyer.conventionne_livre_III_titre_V_chap_III);
|
|
("conventionné_selon_règles_drom", embed_bool
|
|
x.LogementFoyer.conventionne_selon_regles_drom);
|
|
("date_conventionnement", embed_date
|
|
x.LogementFoyer.date_conventionnement);
|
|
("construit_application_loi_1957_12_III", embed_bool
|
|
x.LogementFoyer.construit_application_loi_1957_12_III);
|
|
("redevance", embed_money
|
|
x.LogementFoyer.redevance);
|
|
("catégorie_équivalence_loyer_d842_16",
|
|
embed_categorie_equivalence_loyer_allocation_logement_foyer
|
|
x.LogementFoyer.categorie_equivalence_loyer_d842_16);
|
|
("bénéficiaire_aide_adulte_ou_enfant_handicapés", embed_bool
|
|
x.LogementFoyer.beneficiaire_aide_adulte_ou_enfant_handicapes);
|
|
("logement_meublé_d842_2", embed_bool
|
|
x.LogementFoyer.logement_meuble_d842_2)])
|
|
|
|
|
|
module EnfantPrestationsFamiliales = struct
|
|
type t = {
|
|
identifiant: integer;
|
|
obligation_scolaire: SituationObligationScolaire.t;
|
|
remuneration_mensuelle: money;
|
|
date_de_naissance: date;
|
|
a_deja_ouvert_droit_aux_allocations_familiales: bool;
|
|
beneficie_titre_personnel_aide_personnelle_logement: bool
|
|
}
|
|
end
|
|
let embed_enfant_prestations_familiales (x: EnfantPrestationsFamiliales.t) : runtime_value =
|
|
Struct(["EnfantPrestationsFamiliales"],
|
|
[("identifiant", embed_integer
|
|
x.EnfantPrestationsFamiliales.identifiant);
|
|
("obligation_scolaire", embed_situation_obligation_scolaire
|
|
x.EnfantPrestationsFamiliales.obligation_scolaire);
|
|
("rémuneration_mensuelle", embed_money
|
|
x.EnfantPrestationsFamiliales.remuneration_mensuelle);
|
|
("date_de_naissance", embed_date
|
|
x.EnfantPrestationsFamiliales.date_de_naissance);
|
|
("a_déjà_ouvert_droit_aux_allocations_familiales", embed_bool
|
|
x.EnfantPrestationsFamiliales.a_deja_ouvert_droit_aux_allocations_familiales);
|
|
("bénéficie_titre_personnel_aide_personnelle_logement", embed_bool
|
|
x.EnfantPrestationsFamiliales.beneficie_titre_personnel_aide_personnelle_logement)])
|
|
|
|
|
|
module TypeBailleur = struct
|
|
|
|
type t =
|
|
| BailleurSocial of ConventionBailleurSocial.t
|
|
| BailleurPriveAvecConventionnementSocial of ConventionANHA.t
|
|
| BailleurPrive of unit
|
|
end
|
|
let embed_type_bailleur (x: TypeBailleur.t) : runtime_value =
|
|
Enum(["TypeBailleur"],
|
|
match x with
|
|
| BailleurSocial x ->
|
|
("BailleurSocial", embed_convention_bailleur_social x)
|
|
| BailleurPriveAvecConventionnementSocial x ->
|
|
("BailleurPrivéAvecConventionnementSocial", embed_convention_a_n_h_a x)
|
|
| BailleurPrive x -> ("BailleurPrivé", embed_unit x))
|
|
|
|
|
|
module LoueOuSousLoueADesTiers = struct
|
|
type t =
|
|
| Non of unit
|
|
| Oui of PersonneSousLocation.t
|
|
end
|
|
let embed_loue_ou_sous_loue_a_des_tiers (x: LoueOuSousLoueADesTiers.t)
|
|
: runtime_value =
|
|
Enum(["LouéOuSousLouéÀDesTiers"],
|
|
match x with
|
|
| Non x -> ("Non", embed_unit x)
|
|
| Oui x -> ("Oui", embed_personne_sous_location x))
|
|
|
|
|
|
module Nationalite = struct
|
|
type t =
|
|
| Francaise of unit
|
|
| Etrangere of ConditionsEtrangers.t
|
|
end
|
|
let embed_nationalite (x: Nationalite.t) : runtime_value =
|
|
Enum(["Nationalité"],
|
|
match x with
|
|
| Francaise x -> ("Française", embed_unit x)
|
|
| Etrangere x -> ("Étrangère", embed_conditions_etrangers x))
|
|
|
|
|
|
module ChangementLogementD8424 = struct
|
|
|
|
type t =
|
|
| Changement of InfosChangementLogementD8424.t
|
|
| PasDeChangement of unit
|
|
end
|
|
let embed_changement_logement_d842_4 (x: ChangementLogementD8424.t)
|
|
: runtime_value =
|
|
Enum(["ChangementLogementD842_4"],
|
|
match x with
|
|
| Changement x ->
|
|
("Changement", embed_infos_changement_logement_d842_4 x)
|
|
| PasDeChangement x -> ("PasDeChangement", embed_unit x))
|
|
|
|
|
|
module InformationsPrimeDeDemenagement = struct
|
|
type t = {
|
|
nombre_enfants_a_naitre_apres_troisieme_mois_grossesse: integer;
|
|
date_naissance_troisieme_enfant_ou_dernier_si_plus:
|
|
DateNaissanceTroisiemeOuDernierPlusEnfant.t
|
|
}
|
|
end
|
|
let embed_informations_prime_de_demenagement (x: InformationsPrimeDeDemenagement.t) : runtime_value =
|
|
Struct(["InformationsPrimeDeDéménagement"],
|
|
[("nombre_enfants_à_naître_après_troisième_mois_grossesse",
|
|
embed_integer
|
|
x.InformationsPrimeDeDemenagement.nombre_enfants_a_naitre_apres_troisieme_mois_grossesse);
|
|
("date_naissance_troisième_enfant_ou_dernier_si_plus",
|
|
embed_date_naissance_troisieme_ou_dernier_plus_enfant
|
|
x.InformationsPrimeDeDemenagement.date_naissance_troisieme_enfant_ou_dernier_si_plus)])
|
|
|
|
|
|
module Proprietaire = struct
|
|
type t = {
|
|
mensualite_principale: money;
|
|
charges_mensuelles_pret: money;
|
|
date_entree_logement: date;
|
|
type_travaux_logement_d832_15: TypeTravauxLogementD83215.t;
|
|
type_travaux_logement_r842_5: TypeTravauxLogementR8425.t;
|
|
local_habite_premiere_fois_beneficiaire: bool;
|
|
copropriete: bool;
|
|
situation_r822_11_13_17: bool;
|
|
anciennete_logement: NeufOuAncien.t;
|
|
pret: Pret.t;
|
|
operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat:
|
|
bool
|
|
}
|
|
end
|
|
let embed_proprietaire (x: Proprietaire.t) : runtime_value =
|
|
Struct(["Propriétaire"],
|
|
[("mensualité_principale", embed_money
|
|
x.Proprietaire.mensualite_principale);
|
|
("charges_mensuelles_prêt", embed_money
|
|
x.Proprietaire.charges_mensuelles_pret);
|
|
("date_entrée_logement", embed_date
|
|
x.Proprietaire.date_entree_logement);
|
|
("type_travaux_logement_d832_15", embed_type_travaux_logement_d832_15
|
|
x.Proprietaire.type_travaux_logement_d832_15);
|
|
("type_travaux_logement_r842_5", embed_type_travaux_logement_r842_5
|
|
x.Proprietaire.type_travaux_logement_r842_5);
|
|
("local_habité_première_fois_bénéficiaire", embed_bool
|
|
x.Proprietaire.local_habite_premiere_fois_beneficiaire);
|
|
("copropriété", embed_bool
|
|
x.Proprietaire.copropriete);
|
|
("situation_r822_11_13_17", embed_bool
|
|
x.Proprietaire.situation_r822_11_13_17);
|
|
("ancienneté_logement", embed_neuf_ou_ancien
|
|
x.Proprietaire.anciennete_logement);
|
|
("prêt", embed_pret
|
|
x.Proprietaire.pret);
|
|
("opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État",
|
|
embed_bool
|
|
x.Proprietaire.operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat)])
|
|
|
|
|
|
module EligibilitePrestationsFamiliales = struct
|
|
type t = {
|
|
age_l512_3_2: duration;
|
|
droit_ouvert: EnfantPrestationsFamiliales.t -> bool;
|
|
conditions_hors_age: EnfantPrestationsFamiliales.t -> bool;
|
|
regime_outre_mer_l751_1: bool
|
|
}
|
|
end
|
|
let embed_eligibilite_prestations_familiales (x: EligibilitePrestationsFamiliales.t) : runtime_value =
|
|
Struct(["ÉligibilitéPrestationsFamiliales"],
|
|
[("âge_l512_3_2", embed_duration
|
|
x.EligibilitePrestationsFamiliales.age_l512_3_2);
|
|
("droit_ouvert", unembeddable
|
|
x.EligibilitePrestationsFamiliales.droit_ouvert);
|
|
("conditions_hors_âge", unembeddable
|
|
x.EligibilitePrestationsFamiliales.conditions_hors_age);
|
|
("régime_outre_mer_l751_1", embed_bool
|
|
x.EligibilitePrestationsFamiliales.regime_outre_mer_l751_1)])
|
|
|
|
|
|
module Demandeur = struct
|
|
type t = {
|
|
date_naissance: date;
|
|
nationalite: Nationalite.t;
|
|
personne_hebergee_centre_soin_l_L162_22_3_securite_sociale: bool;
|
|
est_non_salarie_agricole_l781_8_l_781_46_code_rural: bool;
|
|
magistrat_fonctionnaire_centre_interets_materiels_familiaux_hors_mayotte:
|
|
bool
|
|
}
|
|
end
|
|
let embed_demandeur (x: Demandeur.t) : runtime_value = Struct(["Demandeur"],
|
|
[("date_naissance", embed_date x.Demandeur.date_naissance);
|
|
("nationalité", embed_nationalite
|
|
x.Demandeur.nationalite);
|
|
("personne_hébergée_centre_soin_l_L162_22_3_sécurité_sociale",
|
|
embed_bool
|
|
x.Demandeur.personne_hebergee_centre_soin_l_L162_22_3_securite_sociale);
|
|
("est_non_salarié_agricole_l781_8_l_781_46_code_rural", embed_bool
|
|
x.Demandeur.est_non_salarie_agricole_l781_8_l_781_46_code_rural);
|
|
("magistrat_fonctionnaire_centre_intérêts_matériels_familiaux_hors_mayotte",
|
|
embed_bool
|
|
x.Demandeur.magistrat_fonctionnaire_centre_interets_materiels_familiaux_hors_mayotte)])
|
|
|
|
|
|
module EnfantACharge = struct
|
|
type t = {
|
|
identifiant: integer;
|
|
nationalite: Nationalite.t;
|
|
beneficie_titre_personnel_aide_personnelle_logement: bool;
|
|
a_deja_ouvert_droit_aux_allocations_familiales: bool;
|
|
date_de_naissance: date;
|
|
remuneration_mensuelle: money;
|
|
obligation_scolaire: SituationObligationScolaire.t;
|
|
situation_garde_alternee: SituationGardeAlternee.t;
|
|
etudes_apprentissage_stage_formation_pro_impossibilite_travail: bool
|
|
}
|
|
end
|
|
let embed_enfant_a_charge (x: EnfantACharge.t) : runtime_value =
|
|
Struct(["EnfantÀCharge"],
|
|
[("identifiant", embed_integer
|
|
x.EnfantACharge.identifiant);
|
|
("nationalité", embed_nationalite
|
|
x.EnfantACharge.nationalite);
|
|
("bénéficie_titre_personnel_aide_personnelle_logement", embed_bool
|
|
x.EnfantACharge.beneficie_titre_personnel_aide_personnelle_logement);
|
|
("a_déjà_ouvert_droit_aux_allocations_familiales", embed_bool
|
|
x.EnfantACharge.a_deja_ouvert_droit_aux_allocations_familiales);
|
|
("date_de_naissance", embed_date
|
|
x.EnfantACharge.date_de_naissance);
|
|
("rémuneration_mensuelle", embed_money
|
|
x.EnfantACharge.remuneration_mensuelle);
|
|
("obligation_scolaire", embed_situation_obligation_scolaire
|
|
x.EnfantACharge.obligation_scolaire);
|
|
("situation_garde_alternée", embed_situation_garde_alternee
|
|
x.EnfantACharge.situation_garde_alternee);
|
|
("études_apprentissage_stage_formation_pro_impossibilité_travail",
|
|
embed_bool
|
|
x.EnfantACharge.etudes_apprentissage_stage_formation_pro_impossibilite_travail)])
|
|
|
|
|
|
module Location = struct
|
|
type t = {
|
|
bailleur: TypeBailleur.t;
|
|
loyer_principal: money;
|
|
beneficiaire_aide_adulte_ou_enfant_handicapes: bool;
|
|
logement_est_chambre: bool;
|
|
colocation: bool;
|
|
agees_ou_handicap_adultes_hebergees_onereux_particuliers: bool;
|
|
logement_meuble_d842_2: bool;
|
|
changement_logement_d842_4: ChangementLogementD8424.t
|
|
}
|
|
end
|
|
let embed_location (x: Location.t) : runtime_value = Struct(["Location"],
|
|
[("bailleur", embed_type_bailleur x.Location.bailleur);
|
|
("loyer_principal", embed_money
|
|
x.Location.loyer_principal);
|
|
("bénéficiaire_aide_adulte_ou_enfant_handicapés", embed_bool
|
|
x.Location.beneficiaire_aide_adulte_ou_enfant_handicapes);
|
|
("logement_est_chambre", embed_bool
|
|
x.Location.logement_est_chambre);
|
|
("colocation", embed_bool
|
|
x.Location.colocation);
|
|
("âgées_ou_handicap_adultes_hébergées_onéreux_particuliers",
|
|
embed_bool
|
|
x.Location.agees_ou_handicap_adultes_hebergees_onereux_particuliers);
|
|
("logement_meublé_d842_2", embed_bool
|
|
x.Location.logement_meuble_d842_2);
|
|
("changement_logement_d842_4", embed_changement_logement_d842_4
|
|
x.Location.changement_logement_d842_4)])
|
|
|
|
|
|
module PersonneACharge = struct
|
|
|
|
type t =
|
|
| EnfantACharge of EnfantACharge.t
|
|
| AutrePersonneACharge of AutrePersonneACharge.t
|
|
end
|
|
let embed_personne_a_charge (x: PersonneACharge.t) : runtime_value =
|
|
Enum(["PersonneÀCharge"],
|
|
match x with
|
|
| EnfantACharge x -> ("EnfantÀCharge", embed_enfant_a_charge x)
|
|
| AutrePersonneACharge x ->
|
|
("AutrePersonneÀCharge", embed_autre_personne_a_charge x))
|
|
|
|
|
|
module CategorieCalculAPL = struct
|
|
|
|
type t =
|
|
| Location of Location.t
|
|
| AccessionPropriete of Proprietaire.t
|
|
| LogementFoyer of LogementFoyer.t
|
|
end
|
|
let embed_categorie_calcul_a_p_l (x: CategorieCalculAPL.t) : runtime_value =
|
|
Enum(["CatégorieCalculAPL"],
|
|
match x with
|
|
| Location x -> ("Location", embed_location x)
|
|
| AccessionPropriete x -> ("AccessionPropriété", embed_proprietaire x)
|
|
| LogementFoyer x -> ("LogementFoyer", embed_logement_foyer x))
|
|
|
|
|
|
module ModeOccupation = struct
|
|
|
|
type t =
|
|
| Locataire of Location.t
|
|
| ResidentLogementFoyer of LogementFoyer.t
|
|
| AccessionProprieteLocalUsageExclusifHabitation of Proprietaire.t
|
|
| SousLocataire of Location.t
|
|
| LocationAccession of Proprietaire.t
|
|
end
|
|
let embed_mode_occupation (x: ModeOccupation.t) : runtime_value =
|
|
Enum(["ModeOccupation"],
|
|
match x with
|
|
| Locataire x -> ("Locataire", embed_location x)
|
|
| ResidentLogementFoyer x ->
|
|
("RésidentLogementFoyer", embed_logement_foyer x)
|
|
| AccessionProprieteLocalUsageExclusifHabitation x ->
|
|
("AccessionPropriétéLocalUsageExclusifHabitation", embed_proprietaire x)
|
|
| SousLocataire x -> ("SousLocataire", embed_location x)
|
|
| LocationAccession x -> ("LocationAccession", embed_proprietaire x))
|
|
|
|
|
|
module EligibiliteAidesPersonnelleLogement = struct
|
|
type t = {
|
|
date_courante: date;
|
|
eligibilite: bool;
|
|
nombre_personnes_a_charge_prises_en_compte: integer;
|
|
coefficents_enfants_garde_alternee_pris_en_compte: decimal array;
|
|
condition_2_r823_4: PersonneACharge.t -> bool
|
|
}
|
|
end
|
|
let embed_eligibilite_aides_personnelle_logement (x: EligibiliteAidesPersonnelleLogement.t) : runtime_value =
|
|
Struct(["ÉligibilitéAidesPersonnelleLogement"],
|
|
[("date_courante", embed_date
|
|
x.EligibiliteAidesPersonnelleLogement.date_courante);
|
|
("éligibilité", embed_bool
|
|
x.EligibiliteAidesPersonnelleLogement.eligibilite);
|
|
("nombre_personnes_à_charge_prises_en_compte", embed_integer
|
|
x.EligibiliteAidesPersonnelleLogement.nombre_personnes_a_charge_prises_en_compte);
|
|
("coefficents_enfants_garde_alternée_pris_en_compte",
|
|
embed_array (embed_decimal)
|
|
x.EligibiliteAidesPersonnelleLogement.coefficents_enfants_garde_alternee_pris_en_compte);
|
|
("condition_2_r823_4", unembeddable
|
|
x.EligibiliteAidesPersonnelleLogement.condition_2_r823_4)])
|
|
|
|
|
|
module Logement = struct
|
|
type t = {
|
|
residence_principale: bool;
|
|
mode_occupation: ModeOccupation.t;
|
|
proprietaire: ParentOuAutre.t;
|
|
loue_ou_sous_loue_a_des_tiers: LoueOuSousLoueADesTiers.t;
|
|
usufruit: ParentOuAutre.t;
|
|
logement_decent_l89_462: bool;
|
|
surface_m_carres: integer;
|
|
zone: ZoneDHabitation.t
|
|
}
|
|
end
|
|
let embed_logement (x: Logement.t) : runtime_value = Struct(["Logement"],
|
|
[("résidence_principale", embed_bool
|
|
x.Logement.residence_principale);
|
|
("mode_occupation", embed_mode_occupation
|
|
x.Logement.mode_occupation);
|
|
("propriétaire", embed_parent_ou_autre
|
|
x.Logement.proprietaire);
|
|
("loué_ou_sous_loué_à_des_tiers", embed_loue_ou_sous_loue_a_des_tiers
|
|
x.Logement.loue_ou_sous_loue_a_des_tiers);
|
|
("usufruit", embed_parent_ou_autre
|
|
x.Logement.usufruit);
|
|
("logement_decent_l89_462", embed_bool
|
|
x.Logement.logement_decent_l89_462);
|
|
("surface_m_carrés", embed_integer x.Logement.surface_m_carres);
|
|
("zone", embed_zone_d_habitation x.Logement.zone)])
|
|
|
|
|
|
module Menage = struct
|
|
type t = {
|
|
prestations_recues: PrestationRecue.t array;
|
|
logement: Logement.t;
|
|
personnes_a_charge: PersonneACharge.t array;
|
|
nombre_autres_occupants_logement: integer;
|
|
situation_familiale: SituationFamiliale.t;
|
|
condition_rattache_foyer_fiscal_parent_ifi: bool;
|
|
enfant_a_naitre_apres_quatrieme_mois_grossesse: bool;
|
|
personnes_agees_handicapees_foyer_r844_4: bool;
|
|
residence: Collectivite.t
|
|
}
|
|
end
|
|
let embed_menage (x: Menage.t) : runtime_value = Struct(["Ménage"],
|
|
[("prestations_reçues", embed_array (embed_prestation_recue)
|
|
x.Menage.prestations_recues);
|
|
("logement", embed_logement x.Menage.logement);
|
|
("personnes_à_charge", embed_array (embed_personne_a_charge)
|
|
x.Menage.personnes_a_charge);
|
|
("nombre_autres_occupants_logement", embed_integer
|
|
x.Menage.nombre_autres_occupants_logement);
|
|
("situation_familiale", embed_situation_familiale
|
|
x.Menage.situation_familiale);
|
|
("condition_rattaché_foyer_fiscal_parent_ifi", embed_bool
|
|
x.Menage.condition_rattache_foyer_fiscal_parent_ifi);
|
|
("enfant_à_naître_après_quatrième_mois_grossesse", embed_bool
|
|
x.Menage.enfant_a_naitre_apres_quatrieme_mois_grossesse);
|
|
("personnes_âgées_handicapées_foyer_r844_4", embed_bool
|
|
x.Menage.personnes_agees_handicapees_foyer_r844_4);
|
|
("résidence", embed_collectivite x.Menage.residence)])
|
|
|
|
|
|
module EligibiliteAidesPersonnelleLogementIn = struct
|
|
type t = {
|
|
menage_in: Menage.t;
|
|
demandeur_in: Demandeur.t;
|
|
date_courante_in: date;
|
|
condition_logement_residence_principale_in: unit -> bool;
|
|
condition_logement_surface_in: unit -> bool;
|
|
date_entree_vigueur_differee_cch_in: unit -> date
|
|
}
|
|
end
|
|
let embed_eligibilite_aides_personnelle_logement_in (x: EligibiliteAidesPersonnelleLogementIn.t) : runtime_value =
|
|
Struct(["ÉligibilitéAidesPersonnelleLogement_in"],
|
|
[("ménage_in", embed_menage
|
|
x.EligibiliteAidesPersonnelleLogementIn.menage_in);
|
|
("demandeur_in", embed_demandeur
|
|
x.EligibiliteAidesPersonnelleLogementIn.demandeur_in);
|
|
("date_courante_in", embed_date
|
|
x.EligibiliteAidesPersonnelleLogementIn.date_courante_in);
|
|
("condition_logement_résidence_principale_in", unembeddable
|
|
x.EligibiliteAidesPersonnelleLogementIn.condition_logement_residence_principale_in);
|
|
("condition_logement_surface_in", unembeddable
|
|
x.EligibiliteAidesPersonnelleLogementIn.condition_logement_surface_in);
|
|
("date_entrée_vigueur_différée_cch_in", unembeddable
|
|
x.EligibiliteAidesPersonnelleLogementIn.date_entree_vigueur_differee_cch_in)])
|
|
|
|
|
|
module EligibiliteAidePersonnaliseeLogementIn = struct
|
|
type t = {
|
|
menage_in: Menage.t;
|
|
demandeur_in: Demandeur.t;
|
|
date_courante_in: date
|
|
}
|
|
end
|
|
let embed_eligibilite_aide_personnalisee_logement_in (x: EligibiliteAidePersonnaliseeLogementIn.t) : runtime_value =
|
|
Struct(["ÉligibilitéAidePersonnaliséeLogement_in"],
|
|
[("ménage_in", embed_menage
|
|
x.EligibiliteAidePersonnaliseeLogementIn.menage_in);
|
|
("demandeur_in", embed_demandeur
|
|
x.EligibiliteAidePersonnaliseeLogementIn.demandeur_in);
|
|
("date_courante_in", embed_date
|
|
x.EligibiliteAidePersonnaliseeLogementIn.date_courante_in)])
|
|
|
|
|
|
module EligibiliteAllocationLogementIn = struct
|
|
type t = {
|
|
date_courante_in: date;
|
|
menage_in: Menage.t;
|
|
demandeur_in: Demandeur.t;
|
|
beneficie_aide_personnalisee_logement_in: bool
|
|
}
|
|
end
|
|
let embed_eligibilite_allocation_logement_in (x: EligibiliteAllocationLogementIn.t) : runtime_value =
|
|
Struct(["ÉligibilitéAllocationLogement_in"],
|
|
[("date_courante_in", embed_date
|
|
x.EligibiliteAllocationLogementIn.date_courante_in);
|
|
("ménage_in", embed_menage
|
|
x.EligibiliteAllocationLogementIn.menage_in);
|
|
("demandeur_in", embed_demandeur
|
|
x.EligibiliteAllocationLogementIn.demandeur_in);
|
|
("bénéficie_aide_personnalisée_logement_in", embed_bool
|
|
x.EligibiliteAllocationLogementIn.beneficie_aide_personnalisee_logement_in)])
|
|
|
|
|
|
module EligibilitePrimeDeDemenagementIn = struct
|
|
type t = {
|
|
informations_in: InformationsPrimeDeDemenagement.t;
|
|
date_emmenagement_in: date;
|
|
menage_in: Menage.t;
|
|
demandeur_in: Demandeur.t;
|
|
date_courante_in: date;
|
|
depenses_justifiees_reellement_engagees_in: money
|
|
}
|
|
end
|
|
let embed_eligibilite_prime_de_demenagement_in (x: EligibilitePrimeDeDemenagementIn.t) : runtime_value =
|
|
Struct(["ÉligibilitéPrimeDeDéménagement_in"],
|
|
[("informations_in", embed_informations_prime_de_demenagement
|
|
x.EligibilitePrimeDeDemenagementIn.informations_in);
|
|
("date_emménagement_in", embed_date
|
|
x.EligibilitePrimeDeDemenagementIn.date_emmenagement_in);
|
|
("ménage_in", embed_menage
|
|
x.EligibilitePrimeDeDemenagementIn.menage_in);
|
|
("demandeur_in", embed_demandeur
|
|
x.EligibilitePrimeDeDemenagementIn.demandeur_in);
|
|
("date_courante_in", embed_date
|
|
x.EligibilitePrimeDeDemenagementIn.date_courante_in);
|
|
("dépenses_justifiées_réellement_engagées_in", embed_money
|
|
x.EligibilitePrimeDeDemenagementIn.depenses_justifiees_reellement_engagees_in)])
|
|
|
|
|
|
module ContributionsSocialesAidesPersonnelleLogementIn = struct
|
|
type t = {date_courante_in: date}
|
|
end
|
|
let embed_contributions_sociales_aides_personnelle_logement_in (x: ContributionsSocialesAidesPersonnelleLogementIn.t) : runtime_value =
|
|
Struct(["ContributionsSocialesAidesPersonnelleLogement_in"],
|
|
[("date_courante_in", embed_date
|
|
x.ContributionsSocialesAidesPersonnelleLogementIn.date_courante_in)])
|
|
|
|
|
|
module CalculAidePersonnaliseeLogementLocatifIn = struct
|
|
type t = {
|
|
loyer_principal_base_in: money;
|
|
ressources_menage_arrondies_in: money;
|
|
beneficiaire_aide_adulte_ou_enfant_handicapes_in: bool;
|
|
date_courante_in: date;
|
|
nombre_personnes_a_charge_in: integer;
|
|
situation_familiale_calcul_apl_in: SituationFamilialeCalculAPL.t;
|
|
zone_in: ZoneDHabitation.t;
|
|
logement_est_chambre_in: bool;
|
|
agees_ou_handicap_adultes_hebergees_onereux_particuliers_in: bool;
|
|
type_aide_in: TypeAidesPersonnelleLogement.t;
|
|
colocation_in: bool;
|
|
reduction_loyer_solidarite_in: money;
|
|
logement_meuble_d842_2_in: bool;
|
|
residence_in: Collectivite.t
|
|
}
|
|
end
|
|
let embed_calcul_aide_personnalisee_logement_locatif_in (x: CalculAidePersonnaliseeLogementLocatifIn.t) : runtime_value =
|
|
Struct(["CalculAidePersonnaliséeLogementLocatif_in"],
|
|
[("loyer_principal_base_in", embed_money
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.loyer_principal_base_in);
|
|
("ressources_ménage_arrondies_in", embed_money
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.ressources_menage_arrondies_in);
|
|
("bénéficiaire_aide_adulte_ou_enfant_handicapés_in", embed_bool
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.beneficiaire_aide_adulte_ou_enfant_handicapes_in);
|
|
("date_courante_in", embed_date
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.date_courante_in);
|
|
("nombre_personnes_à_charge_in", embed_integer
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.nombre_personnes_a_charge_in);
|
|
("situation_familiale_calcul_apl_in",
|
|
embed_situation_familiale_calcul_a_p_l
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.situation_familiale_calcul_apl_in);
|
|
("zone_in", embed_zone_d_habitation
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.zone_in);
|
|
("logement_est_chambre_in", embed_bool
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.logement_est_chambre_in);
|
|
("âgées_ou_handicap_adultes_hébergées_onéreux_particuliers_in",
|
|
embed_bool
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.agees_ou_handicap_adultes_hebergees_onereux_particuliers_in);
|
|
("type_aide_in", embed_type_aides_personnelle_logement
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.type_aide_in);
|
|
("colocation_in", embed_bool
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.colocation_in);
|
|
("réduction_loyer_solidarité_in", embed_money
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.reduction_loyer_solidarite_in);
|
|
("logement_meublé_d842_2_in", embed_bool
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.logement_meuble_d842_2_in);
|
|
("résidence_in", embed_collectivite
|
|
x.CalculAidePersonnaliseeLogementLocatifIn.residence_in)])
|
|
|
|
|
|
module CalculEquivalenceLoyerMinimaleIn = struct
|
|
type t = {
|
|
date_courante_in: date;
|
|
ressources_menage_arrondies_in: money;
|
|
condition_2_du_832_25_in: bool;
|
|
n_nombre_parts_d832_25_in: decimal
|
|
}
|
|
end
|
|
let embed_calcul_equivalence_loyer_minimale_in (x: CalculEquivalenceLoyerMinimaleIn.t) : runtime_value =
|
|
Struct(["CalculÉquivalenceLoyerMinimale_in"],
|
|
[("date_courante_in", embed_date
|
|
x.CalculEquivalenceLoyerMinimaleIn.date_courante_in);
|
|
("ressources_ménage_arrondies_in", embed_money
|
|
x.CalculEquivalenceLoyerMinimaleIn.ressources_menage_arrondies_in);
|
|
("condition_2_du_832_25_in", embed_bool
|
|
x.CalculEquivalenceLoyerMinimaleIn.condition_2_du_832_25_in);
|
|
("n_nombre_parts_d832_25_in", embed_decimal
|
|
x.CalculEquivalenceLoyerMinimaleIn.n_nombre_parts_d832_25_in)])
|
|
|
|
|
|
module CalculNombrePartLogementFoyerIn = struct
|
|
type t = {
|
|
condition_2_du_832_25_in: bool;
|
|
nombre_personnes_a_charge_in: integer;
|
|
situation_familiale_calcul_apl_in: SituationFamilialeCalculAPL.t;
|
|
limitation_majoration_personnes_a_charge_in: unit -> bool
|
|
}
|
|
end
|
|
let embed_calcul_nombre_part_logement_foyer_in (x: CalculNombrePartLogementFoyerIn.t) : runtime_value =
|
|
Struct(["CalculNombrePartLogementFoyer_in"],
|
|
[("condition_2_du_832_25_in", embed_bool
|
|
x.CalculNombrePartLogementFoyerIn.condition_2_du_832_25_in);
|
|
("nombre_personnes_à_charge_in", embed_integer
|
|
x.CalculNombrePartLogementFoyerIn.nombre_personnes_a_charge_in);
|
|
("situation_familiale_calcul_apl_in",
|
|
embed_situation_familiale_calcul_a_p_l
|
|
x.CalculNombrePartLogementFoyerIn.situation_familiale_calcul_apl_in);
|
|
("limitation_majoration_personnes_à_charge_in", unembeddable
|
|
x.CalculNombrePartLogementFoyerIn.limitation_majoration_personnes_a_charge_in)])
|
|
|
|
|
|
module CalculAidePersonnaliseeLogementFoyerIn = struct
|
|
type t = {
|
|
type_logement_foyer_in: TypeLogementFoyer.t;
|
|
date_conventionnement_in: date;
|
|
ressources_menage_arrondies_in: money;
|
|
nombre_personnes_a_charge_in: integer;
|
|
situation_familiale_calcul_apl_in: SituationFamilialeCalculAPL.t;
|
|
zone_in: ZoneDHabitation.t;
|
|
date_courante_in: date;
|
|
redevance_in: money;
|
|
condition_2_du_832_25_in: unit -> bool;
|
|
limitation_majoration_personnes_a_charge_in: unit -> bool;
|
|
n_nombre_parts_d832_25_in: unit -> decimal
|
|
}
|
|
end
|
|
let embed_calcul_aide_personnalisee_logement_foyer_in (x: CalculAidePersonnaliseeLogementFoyerIn.t) : runtime_value =
|
|
Struct(["CalculAidePersonnaliséeLogementFoyer_in"],
|
|
[("type_logement_foyer_in", embed_type_logement_foyer
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.type_logement_foyer_in);
|
|
("date_conventionnement_in", embed_date
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.date_conventionnement_in);
|
|
("ressources_ménage_arrondies_in", embed_money
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.ressources_menage_arrondies_in);
|
|
("nombre_personnes_à_charge_in", embed_integer
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.nombre_personnes_a_charge_in);
|
|
("situation_familiale_calcul_apl_in",
|
|
embed_situation_familiale_calcul_a_p_l
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.situation_familiale_calcul_apl_in);
|
|
("zone_in", embed_zone_d_habitation
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.zone_in);
|
|
("date_courante_in", embed_date
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.date_courante_in);
|
|
("redevance_in", embed_money
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.redevance_in);
|
|
("condition_2_du_832_25_in", unembeddable
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.condition_2_du_832_25_in);
|
|
("limitation_majoration_personnes_à_charge_in", unembeddable
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.limitation_majoration_personnes_a_charge_in);
|
|
("n_nombre_parts_d832_25_in", unembeddable
|
|
x.CalculAidePersonnaliseeLogementFoyerIn.n_nombre_parts_d832_25_in)])
|
|
|
|
|
|
module CalculNombrePartsAccessionProprieteIn = struct
|
|
type t = {
|
|
nombre_personnes_a_charge_in: integer;
|
|
situation_familiale_calcul_apl_in: SituationFamilialeCalculAPL.t
|
|
}
|
|
end
|
|
let embed_calcul_nombre_parts_accession_propriete_in (x: CalculNombrePartsAccessionProprieteIn.t) : runtime_value =
|
|
Struct(["CalculNombrePartsAccessionPropriété_in"],
|
|
[("nombre_personnes_à_charge_in", embed_integer
|
|
x.CalculNombrePartsAccessionProprieteIn.nombre_personnes_a_charge_in);
|
|
("situation_familiale_calcul_apl_in",
|
|
embed_situation_familiale_calcul_a_p_l
|
|
x.CalculNombrePartsAccessionProprieteIn.situation_familiale_calcul_apl_in)])
|
|
|
|
|
|
module CalculAidePersonnaliseeLogementAccessionProprieteIn = struct
|
|
type t = {
|
|
mensualite_principale_in: money;
|
|
ressources_menage_arrondies_in: money;
|
|
nombre_personnes_a_charge_in: integer;
|
|
situation_familiale_calcul_apl_in: SituationFamilialeCalculAPL.t;
|
|
type_travaux_logement_in: TypeTravauxLogementD83215.t;
|
|
date_signature_pret_in: date;
|
|
local_habite_premiere_fois_beneficiaire_in: bool;
|
|
date_entree_logement_in: date;
|
|
copropriete_in: bool;
|
|
situation_r822_11_13_17_in: bool;
|
|
zone_in: ZoneDHabitation.t;
|
|
type_pret_in: TypePret.t;
|
|
anciennete_logement_in: NeufOuAncien.t;
|
|
date_courante_in: date
|
|
}
|
|
end
|
|
let embed_calcul_aide_personnalisee_logement_accession_propriete_in (x: CalculAidePersonnaliseeLogementAccessionProprieteIn.t) : runtime_value =
|
|
Struct(["CalculAidePersonnaliséeLogementAccessionPropriété_in"],
|
|
[("mensualité_principale_in", embed_money
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.mensualite_principale_in);
|
|
("ressources_ménage_arrondies_in", embed_money
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.ressources_menage_arrondies_in);
|
|
("nombre_personnes_à_charge_in", embed_integer
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.nombre_personnes_a_charge_in);
|
|
("situation_familiale_calcul_apl_in",
|
|
embed_situation_familiale_calcul_a_p_l
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.situation_familiale_calcul_apl_in);
|
|
("type_travaux_logement_in", embed_type_travaux_logement_d832_15
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.type_travaux_logement_in);
|
|
("date_signature_prêt_in", embed_date
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.date_signature_pret_in);
|
|
("local_habité_première_fois_bénéficiaire_in", embed_bool
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.local_habite_premiere_fois_beneficiaire_in);
|
|
("date_entrée_logement_in", embed_date
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.date_entree_logement_in);
|
|
("copropriété_in", embed_bool
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.copropriete_in);
|
|
("situation_r822_11_13_17_in", embed_bool
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.situation_r822_11_13_17_in);
|
|
("zone_in", embed_zone_d_habitation
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.zone_in);
|
|
("type_prêt_in", embed_type_pret
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.type_pret_in);
|
|
("ancienneté_logement_in", embed_neuf_ou_ancien
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.anciennete_logement_in);
|
|
("date_courante_in", embed_date
|
|
x.CalculAidePersonnaliseeLogementAccessionProprieteIn.date_courante_in)])
|
|
|
|
|
|
module CalculAidePersonnaliseeLogementIn = struct
|
|
type t = {
|
|
mode_occupation_in: ModeOccupation.t;
|
|
type_aide_in: TypeAidesPersonnelleLogement.t;
|
|
ressources_menage_sans_arrondi_in: money;
|
|
situation_familiale_in: SituationFamiliale.t;
|
|
nombre_personnes_a_charge_in: integer;
|
|
zone_in: ZoneDHabitation.t;
|
|
date_courante_in: date;
|
|
residence_in: Collectivite.t
|
|
}
|
|
end
|
|
let embed_calcul_aide_personnalisee_logement_in (x: CalculAidePersonnaliseeLogementIn.t) : runtime_value =
|
|
Struct(["CalculAidePersonnaliséeLogement_in"],
|
|
[("mode_occupation_in", embed_mode_occupation
|
|
x.CalculAidePersonnaliseeLogementIn.mode_occupation_in);
|
|
("type_aide_in", embed_type_aides_personnelle_logement
|
|
x.CalculAidePersonnaliseeLogementIn.type_aide_in);
|
|
("ressources_ménage_sans_arrondi_in", embed_money
|
|
x.CalculAidePersonnaliseeLogementIn.ressources_menage_sans_arrondi_in);
|
|
("situation_familiale_in", embed_situation_familiale
|
|
x.CalculAidePersonnaliseeLogementIn.situation_familiale_in);
|
|
("nombre_personnes_à_charge_in", embed_integer
|
|
x.CalculAidePersonnaliseeLogementIn.nombre_personnes_a_charge_in);
|
|
("zone_in", embed_zone_d_habitation
|
|
x.CalculAidePersonnaliseeLogementIn.zone_in);
|
|
("date_courante_in", embed_date
|
|
x.CalculAidePersonnaliseeLogementIn.date_courante_in);
|
|
("résidence_in", embed_collectivite
|
|
x.CalculAidePersonnaliseeLogementIn.residence_in)])
|
|
|
|
|
|
module CalculAllocationLogementLocatifIn = struct
|
|
type t = {
|
|
loyer_principal_in: money;
|
|
ressources_menage_arrondies_in: money;
|
|
beneficiaire_aide_adulte_ou_enfant_handicapes_in: bool;
|
|
date_courante_in: date;
|
|
nombre_personnes_a_charge_in: integer;
|
|
situation_familiale_calcul_apl_in: SituationFamilialeCalculAPL.t;
|
|
zone_in: ZoneDHabitation.t;
|
|
logement_est_chambre_in: bool;
|
|
agees_ou_handicap_adultes_hebergees_onereux_particuliers_in: bool;
|
|
type_aide_in: TypeAidesPersonnelleLogement.t;
|
|
colocation_in: bool;
|
|
reduction_loyer_solidarite_in: money;
|
|
logement_meuble_d842_2_in: bool;
|
|
residence_in: Collectivite.t;
|
|
changement_logement_d842_4_in: ChangementLogementD8424.t
|
|
}
|
|
end
|
|
let embed_calcul_allocation_logement_locatif_in (x: CalculAllocationLogementLocatifIn.t) : runtime_value =
|
|
Struct(["CalculAllocationLogementLocatif_in"],
|
|
[("loyer_principal_in", embed_money
|
|
x.CalculAllocationLogementLocatifIn.loyer_principal_in);
|
|
("ressources_ménage_arrondies_in", embed_money
|
|
x.CalculAllocationLogementLocatifIn.ressources_menage_arrondies_in);
|
|
("bénéficiaire_aide_adulte_ou_enfant_handicapés_in", embed_bool
|
|
x.CalculAllocationLogementLocatifIn.beneficiaire_aide_adulte_ou_enfant_handicapes_in);
|
|
("date_courante_in", embed_date
|
|
x.CalculAllocationLogementLocatifIn.date_courante_in);
|
|
("nombre_personnes_à_charge_in", embed_integer
|
|
x.CalculAllocationLogementLocatifIn.nombre_personnes_a_charge_in);
|
|
("situation_familiale_calcul_apl_in",
|
|
embed_situation_familiale_calcul_a_p_l
|
|
x.CalculAllocationLogementLocatifIn.situation_familiale_calcul_apl_in);
|
|
("zone_in", embed_zone_d_habitation
|
|
x.CalculAllocationLogementLocatifIn.zone_in);
|
|
("logement_est_chambre_in", embed_bool
|
|
x.CalculAllocationLogementLocatifIn.logement_est_chambre_in);
|
|
("âgées_ou_handicap_adultes_hébergées_onéreux_particuliers_in",
|
|
embed_bool
|
|
x.CalculAllocationLogementLocatifIn.agees_ou_handicap_adultes_hebergees_onereux_particuliers_in);
|
|
("type_aide_in", embed_type_aides_personnelle_logement
|
|
x.CalculAllocationLogementLocatifIn.type_aide_in);
|
|
("colocation_in", embed_bool
|
|
x.CalculAllocationLogementLocatifIn.colocation_in);
|
|
("réduction_loyer_solidarité_in", embed_money
|
|
x.CalculAllocationLogementLocatifIn.reduction_loyer_solidarite_in);
|
|
("logement_meublé_d842_2_in", embed_bool
|
|
x.CalculAllocationLogementLocatifIn.logement_meuble_d842_2_in);
|
|
("résidence_in", embed_collectivite
|
|
x.CalculAllocationLogementLocatifIn.residence_in);
|
|
("changement_logement_d842_4_in", embed_changement_logement_d842_4
|
|
x.CalculAllocationLogementLocatifIn.changement_logement_d842_4_in)])
|
|
|
|
|
|
module CalculAllocationLogementAccessionProprieteIn = struct
|
|
type t = {
|
|
ressources_menage_arrondies_base_in: money;
|
|
nombre_personnes_a_charge_in: integer;
|
|
situation_familiale_calcul_apl_in: SituationFamilialeCalculAPL.t;
|
|
zone_in: ZoneDHabitation.t;
|
|
residence_in: Collectivite.t;
|
|
date_courante_in: date;
|
|
mensualite_principale_in: money;
|
|
situation_r822_11_13_17_in: bool;
|
|
date_signature_pret_in: date;
|
|
type_travaux_logement_in: TypeTravauxLogementR8425.t;
|
|
local_habite_premiere_fois_beneficiaire_in: bool;
|
|
date_entree_logement_in: date;
|
|
charges_mensuelles_pret_in: money;
|
|
copropriete_in: bool;
|
|
operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat_in:
|
|
bool
|
|
}
|
|
end
|
|
let embed_calcul_allocation_logement_accession_propriete_in (x: CalculAllocationLogementAccessionProprieteIn.t) : runtime_value =
|
|
Struct(["CalculAllocationLogementAccessionPropriété_in"],
|
|
[("ressources_ménage_arrondies_base_in", embed_money
|
|
x.CalculAllocationLogementAccessionProprieteIn.ressources_menage_arrondies_base_in);
|
|
("nombre_personnes_à_charge_in", embed_integer
|
|
x.CalculAllocationLogementAccessionProprieteIn.nombre_personnes_a_charge_in);
|
|
("situation_familiale_calcul_apl_in",
|
|
embed_situation_familiale_calcul_a_p_l
|
|
x.CalculAllocationLogementAccessionProprieteIn.situation_familiale_calcul_apl_in);
|
|
("zone_in", embed_zone_d_habitation
|
|
x.CalculAllocationLogementAccessionProprieteIn.zone_in);
|
|
("résidence_in", embed_collectivite
|
|
x.CalculAllocationLogementAccessionProprieteIn.residence_in);
|
|
("date_courante_in", embed_date
|
|
x.CalculAllocationLogementAccessionProprieteIn.date_courante_in);
|
|
("mensualité_principale_in", embed_money
|
|
x.CalculAllocationLogementAccessionProprieteIn.mensualite_principale_in);
|
|
("situation_r822_11_13_17_in", embed_bool
|
|
x.CalculAllocationLogementAccessionProprieteIn.situation_r822_11_13_17_in);
|
|
("date_signature_prêt_in", embed_date
|
|
x.CalculAllocationLogementAccessionProprieteIn.date_signature_pret_in);
|
|
("type_travaux_logement_in", embed_type_travaux_logement_r842_5
|
|
x.CalculAllocationLogementAccessionProprieteIn.type_travaux_logement_in);
|
|
("local_habité_première_fois_bénéficiaire_in", embed_bool
|
|
x.CalculAllocationLogementAccessionProprieteIn.local_habite_premiere_fois_beneficiaire_in);
|
|
("date_entrée_logement_in", embed_date
|
|
x.CalculAllocationLogementAccessionProprieteIn.date_entree_logement_in);
|
|
("charges_mensuelles_prêt_in", embed_money
|
|
x.CalculAllocationLogementAccessionProprieteIn.charges_mensuelles_pret_in);
|
|
("copropriété_in", embed_bool
|
|
x.CalculAllocationLogementAccessionProprieteIn.copropriete_in);
|
|
("opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État_in",
|
|
embed_bool
|
|
x.CalculAllocationLogementAccessionProprieteIn.operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat_in)])
|
|
|
|
|
|
module CalculAllocationLogementFoyerIn = struct
|
|
type t = {
|
|
type_logement_foyer_in: TypeLogementFoyer.t;
|
|
date_conventionnement_in: date;
|
|
residence_in: Collectivite.t;
|
|
redevance_in: money;
|
|
ressources_menage_arrondies_in: money;
|
|
nombre_personnes_a_charge_in: integer;
|
|
situation_familiale_calcul_apl_in: SituationFamilialeCalculAPL.t;
|
|
zone_in: ZoneDHabitation.t;
|
|
date_courante_in: date;
|
|
categorie_equivalence_loyer_d842_16_in:
|
|
CategorieEquivalenceLoyerAllocationLogementFoyer.t
|
|
}
|
|
end
|
|
let embed_calcul_allocation_logement_foyer_in (x: CalculAllocationLogementFoyerIn.t) : runtime_value =
|
|
Struct(["CalculAllocationLogementFoyer_in"],
|
|
[("type_logement_foyer_in", embed_type_logement_foyer
|
|
x.CalculAllocationLogementFoyerIn.type_logement_foyer_in);
|
|
("date_conventionnement_in", embed_date
|
|
x.CalculAllocationLogementFoyerIn.date_conventionnement_in);
|
|
("résidence_in", embed_collectivite
|
|
x.CalculAllocationLogementFoyerIn.residence_in);
|
|
("redevance_in", embed_money
|
|
x.CalculAllocationLogementFoyerIn.redevance_in);
|
|
("ressources_ménage_arrondies_in", embed_money
|
|
x.CalculAllocationLogementFoyerIn.ressources_menage_arrondies_in);
|
|
("nombre_personnes_à_charge_in", embed_integer
|
|
x.CalculAllocationLogementFoyerIn.nombre_personnes_a_charge_in);
|
|
("situation_familiale_calcul_apl_in",
|
|
embed_situation_familiale_calcul_a_p_l
|
|
x.CalculAllocationLogementFoyerIn.situation_familiale_calcul_apl_in);
|
|
("zone_in", embed_zone_d_habitation
|
|
x.CalculAllocationLogementFoyerIn.zone_in);
|
|
("date_courante_in", embed_date
|
|
x.CalculAllocationLogementFoyerIn.date_courante_in);
|
|
("catégorie_équivalence_loyer_d842_16_in",
|
|
embed_categorie_equivalence_loyer_allocation_logement_foyer
|
|
x.CalculAllocationLogementFoyerIn.categorie_equivalence_loyer_d842_16_in)])
|
|
|
|
|
|
module CalculAllocationLogementIn = struct
|
|
type t = {
|
|
mode_occupation_in: ModeOccupation.t;
|
|
ressources_menage_sans_arrondi_in: money;
|
|
situation_familiale_in: SituationFamiliale.t;
|
|
nombre_personnes_a_charge_in: integer;
|
|
zone_in: ZoneDHabitation.t;
|
|
date_courante_in: date;
|
|
type_aide_in: TypeAidesPersonnelleLogement.t;
|
|
residence_in: Collectivite.t
|
|
}
|
|
end
|
|
let embed_calcul_allocation_logement_in (x: CalculAllocationLogementIn.t) : runtime_value =
|
|
Struct(["CalculAllocationLogement_in"],
|
|
[("mode_occupation_in", embed_mode_occupation
|
|
x.CalculAllocationLogementIn.mode_occupation_in);
|
|
("ressources_ménage_sans_arrondi_in", embed_money
|
|
x.CalculAllocationLogementIn.ressources_menage_sans_arrondi_in);
|
|
("situation_familiale_in", embed_situation_familiale
|
|
x.CalculAllocationLogementIn.situation_familiale_in);
|
|
("nombre_personnes_à_charge_in", embed_integer
|
|
x.CalculAllocationLogementIn.nombre_personnes_a_charge_in);
|
|
("zone_in", embed_zone_d_habitation
|
|
x.CalculAllocationLogementIn.zone_in);
|
|
("date_courante_in", embed_date
|
|
x.CalculAllocationLogementIn.date_courante_in);
|
|
("type_aide_in", embed_type_aides_personnelle_logement
|
|
x.CalculAllocationLogementIn.type_aide_in);
|
|
("résidence_in", embed_collectivite
|
|
x.CalculAllocationLogementIn.residence_in)])
|
|
|
|
|
|
module OuvertureDroitsRetraiteIn = struct
|
|
type t = {date_naissance_assure_in: date}
|
|
end
|
|
let embed_ouverture_droits_retraite_in (x: OuvertureDroitsRetraiteIn.t) : runtime_value =
|
|
Struct(["OuvertureDroitsRetraite_in"],
|
|
[("date_naissance_assuré_in", embed_date
|
|
x.OuvertureDroitsRetraiteIn.date_naissance_assure_in)])
|
|
|
|
|
|
module ImpayeDepenseLogementIn = struct
|
|
type t = {
|
|
mode_occupation_in: ModeOccupation.t;
|
|
aide_versee_in: VersementA.t;
|
|
montant_apl_in: money;
|
|
montant_charges_in: money;
|
|
depense_logement_in: DepenseLogement.t;
|
|
montant_dette_in: money
|
|
}
|
|
end
|
|
let embed_impaye_depense_logement_in (x: ImpayeDepenseLogementIn.t) : runtime_value =
|
|
Struct(["ImpayéDépenseLogement_in"],
|
|
[("mode_occupation_in", embed_mode_occupation
|
|
x.ImpayeDepenseLogementIn.mode_occupation_in);
|
|
("aide_versée_in", embed_versement_a
|
|
x.ImpayeDepenseLogementIn.aide_versee_in);
|
|
("montant_apl_in", embed_money
|
|
x.ImpayeDepenseLogementIn.montant_apl_in);
|
|
("montant_charges_in", embed_money
|
|
x.ImpayeDepenseLogementIn.montant_charges_in);
|
|
("dépense_logement_in", embed_depense_logement
|
|
x.ImpayeDepenseLogementIn.depense_logement_in);
|
|
("montant_dette_in", embed_money
|
|
x.ImpayeDepenseLogementIn.montant_dette_in)])
|
|
|
|
|
|
module CalculetteAidesAuLogementIn = struct
|
|
type t = {
|
|
menage_in: Menage.t;
|
|
demandeur_in: Demandeur.t;
|
|
date_courante_in: date;
|
|
ressources_menage_prises_en_compte_in: money
|
|
}
|
|
end
|
|
let embed_calculette_aides_au_logement_in (x: CalculetteAidesAuLogementIn.t) : runtime_value =
|
|
Struct(["CalculetteAidesAuLogement_in"],
|
|
[("ménage_in", embed_menage
|
|
x.CalculetteAidesAuLogementIn.menage_in);
|
|
("demandeur_in", embed_demandeur
|
|
x.CalculetteAidesAuLogementIn.demandeur_in);
|
|
("date_courante_in", embed_date
|
|
x.CalculetteAidesAuLogementIn.date_courante_in);
|
|
("ressources_ménage_prises_en_compte_in", embed_money
|
|
x.CalculetteAidesAuLogementIn.ressources_menage_prises_en_compte_in)])
|
|
|
|
|
|
module CalculetteAidesAuLogementGardeAlterneeIn = struct
|
|
type t = {
|
|
menage_in: Menage.t;
|
|
demandeur_in: Demandeur.t;
|
|
date_courante_in: date;
|
|
ressources_menage_prises_en_compte_in: money
|
|
}
|
|
end
|
|
let embed_calculette_aides_au_logement_garde_alternee_in (x: CalculetteAidesAuLogementGardeAlterneeIn.t) : runtime_value =
|
|
Struct(["CalculetteAidesAuLogementGardeAlternée_in"],
|
|
[("ménage_in", embed_menage
|
|
x.CalculetteAidesAuLogementGardeAlterneeIn.menage_in);
|
|
("demandeur_in", embed_demandeur
|
|
x.CalculetteAidesAuLogementGardeAlterneeIn.demandeur_in);
|
|
("date_courante_in", embed_date
|
|
x.CalculetteAidesAuLogementGardeAlterneeIn.date_courante_in);
|
|
("ressources_ménage_prises_en_compte_in", embed_money
|
|
x.CalculetteAidesAuLogementGardeAlterneeIn.ressources_menage_prises_en_compte_in)])
|
|
|
|
|
|
module BaseMensuelleAllocationsFamilialesIn = struct
|
|
type t = {date_courante_in: date}
|
|
end
|
|
let embed_base_mensuelle_allocations_familiales_in (x: BaseMensuelleAllocationsFamilialesIn.t) : runtime_value =
|
|
Struct(["BaseMensuelleAllocationsFamiliales_in"],
|
|
[("date_courante_in", embed_date
|
|
x.BaseMensuelleAllocationsFamilialesIn.date_courante_in)])
|
|
|
|
|
|
module VerificationAgeInferieurOuEgalAIn = struct
|
|
type t = {
|
|
date_naissance_in: date;
|
|
date_courante_in: date;
|
|
annees_in: duration
|
|
}
|
|
end
|
|
let embed_verification_age_inferieur_ou_egal_a_in (x: VerificationAgeInferieurOuEgalAIn.t) : runtime_value =
|
|
Struct(["VérificationÂgeInférieurOuÉgalÀ_in"],
|
|
[("date_naissance_in", embed_date
|
|
x.VerificationAgeInferieurOuEgalAIn.date_naissance_in);
|
|
("date_courante_in", embed_date
|
|
x.VerificationAgeInferieurOuEgalAIn.date_courante_in);
|
|
("années_in", embed_duration
|
|
x.VerificationAgeInferieurOuEgalAIn.annees_in)])
|
|
|
|
|
|
module VerificationAgeSuperieurAIn = struct
|
|
type t = {
|
|
date_naissance_in: date;
|
|
date_courante_in: date;
|
|
annees_in: duration
|
|
}
|
|
end
|
|
let embed_verification_age_superieur_a_in (x: VerificationAgeSuperieurAIn.t) : runtime_value =
|
|
Struct(["VérificationÂgeSupérieurÀ_in"],
|
|
[("date_naissance_in", embed_date
|
|
x.VerificationAgeSuperieurAIn.date_naissance_in);
|
|
("date_courante_in", embed_date
|
|
x.VerificationAgeSuperieurAIn.date_courante_in);
|
|
("années_in", embed_duration x.VerificationAgeSuperieurAIn.annees_in)])
|
|
|
|
|
|
module SmicIn = struct
|
|
type t = {date_courante_in: date; residence_in: Collectivite.t}
|
|
end
|
|
let embed_smic_in (x: SmicIn.t) : runtime_value = Struct(["Smic_in"],
|
|
[("date_courante_in", embed_date
|
|
x.SmicIn.date_courante_in);
|
|
("résidence_in", embed_collectivite x.SmicIn.residence_in)])
|
|
|
|
|
|
module EligibilitePrestationsFamilialesIn = struct
|
|
type t = {
|
|
date_courante_in: date;
|
|
residence_in: Collectivite.t;
|
|
age_l512_3_2_in: unit -> duration
|
|
}
|
|
end
|
|
let embed_eligibilite_prestations_familiales_in (x: EligibilitePrestationsFamilialesIn.t) : runtime_value =
|
|
Struct(["ÉligibilitéPrestationsFamiliales_in"],
|
|
[("date_courante_in", embed_date
|
|
x.EligibilitePrestationsFamilialesIn.date_courante_in);
|
|
("résidence_in", embed_collectivite
|
|
x.EligibilitePrestationsFamilialesIn.residence_in);
|
|
("âge_l512_3_2_in", unembeddable
|
|
x.EligibilitePrestationsFamilialesIn.age_l512_3_2_in)])
|
|
|
|
|
|
|
|
|
|
let contributions_sociales_aides_personnelle_logement (contributions_sociales_aides_personnelle_logement_in: ContributionsSocialesAidesPersonnelleLogementIn.t) : ContributionsSocialesAidesPersonnelleLogement.t =
|
|
let date_courante_: date = contributions_sociales_aides_personnelle_logement_in.ContributionsSocialesAidesPersonnelleLogementIn.date_courante_in in
|
|
let exonere_csg_: bool = (log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement"; "exonéré_csg"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=37; start_column=9;
|
|
end_line=37; end_column=20;
|
|
law_headings=["Article L136-1-3";
|
|
"Section 1 : De la contribution sociale sur les revenus d'activité et sur les revenus de remplacement";
|
|
"Chapitre 6 : Contribution sociale généralisée";
|
|
"Titre III: Titre III : Dispositions communes relatives au financement";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]}
|
|
true)) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=490; start_column=11;
|
|
end_line=490; end_column=22;
|
|
law_headings=["Calcul des contributions sociales s'appliquant aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=490; start_column=11; end_line=490; end_column=22;
|
|
law_headings=["Calcul des contributions sociales s'appliquant aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let taux_crds_: decimal = (log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement"; "taux_crds"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=190; start_column=39;
|
|
end_line=190; end_column=68;
|
|
law_headings=["Article 19";
|
|
"Chapitre II : Des contributions pour le remboursement de la dette sociale.";
|
|
"Ordonnance n° 96-50 du 24 janvier 1996 relative au remboursement de la dette sociale"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))))
|
|
(fun (_: unit) -> decimal_of_string "0.005"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=489; start_column=11; end_line=489; end_column=20;
|
|
law_headings=["Calcul des contributions sociales s'appliquant aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_: money -> money = (log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement"; "montant"]
|
|
(unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=152; start_column=5;
|
|
end_line=152; end_column=34;
|
|
law_headings=["Article 14";
|
|
"Chapitre II : Des contributions pour le remboursement de la dette sociale.";
|
|
"Ordonnance n° 96-50 du 24 janvier 1996 relative au remboursement de la dette sociale"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2018) (9) (1)))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat aide_finale_ taux_crds_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=492; start_column=12; end_line=492; end_column=19;
|
|
law_headings=["Calcul des contributions sociales s'appliquant aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let _: unit = if (try exonere_csg_ with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=156; start_column=13;
|
|
end_line=156; end_column=24;
|
|
law_headings=["Article 14";
|
|
"Chapitre II : Des contributions pour le remboursement de la dette sociale.";
|
|
"Ordonnance n° 96-50 du 24 janvier 1996 relative au remboursement de la dette sociale"]})))
|
|
then () else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=156; start_column=13;
|
|
end_line=156; end_column=24;
|
|
law_headings=["Article 14";
|
|
"Chapitre II : Des contributions pour le remboursement de la dette sociale.";
|
|
"Ordonnance n° 96-50 du 24 janvier 1996 relative au remboursement de la dette sociale"]}) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=497; start_column=13;
|
|
end_line=497; end_column=42;
|
|
law_headings=["Calcul des contributions sociales s'appliquant aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}))) then
|
|
() else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=497; start_column=13;
|
|
end_line=497; end_column=42;
|
|
law_headings=["Calcul des contributions sociales s'appliquant aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}) in
|
|
{ContributionsSocialesAidesPersonnelleLogement.montant = montant_}
|
|
|
|
let calcul_equivalence_loyer_minimale (calcul_equivalence_loyer_minimale_in: CalculEquivalenceLoyerMinimaleIn.t) : CalculEquivalenceLoyerMinimale.t =
|
|
let date_courante_: date = calcul_equivalence_loyer_minimale_in.CalculEquivalenceLoyerMinimaleIn.date_courante_in in
|
|
let ressources_menage_arrondies_: money = calcul_equivalence_loyer_minimale_in.CalculEquivalenceLoyerMinimaleIn.ressources_menage_arrondies_in in
|
|
let condition_2_du_832_25_: bool = calcul_equivalence_loyer_minimale_in.CalculEquivalenceLoyerMinimaleIn.condition_2_du_832_25_in in
|
|
let n_nombre_parts_d832_25_: decimal = calcul_equivalence_loyer_minimale_in.CalculEquivalenceLoyerMinimaleIn.n_nombre_parts_d832_25_in in
|
|
let montant_forfaitaire_d832_26_: money = (log_variable_definition
|
|
["CalculÉquivalenceLoyerMinimale"; "montant_forfaitaire_d832_26"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2723; start_column=14;
|
|
end_line=2723; end_column=41;
|
|
law_headings=["Article 31";
|
|
"Chapitre V : Calcul de l'aide personnalisée au logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gt_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) ->
|
|
if condition_2_du_832_25_ then
|
|
(money_of_cents_string "7632") else
|
|
(money_of_cents_string "4557")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=589; start_column=11; end_line=589; end_column=38;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let tranches_revenus_d832_26_: TrancheRevenu.t array = (log_variable_definition
|
|
["CalculÉquivalenceLoyerMinimale"; "tranches_revenus_d832_26"]
|
|
(embed_array (embed_tranche_revenu)) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2687; start_column=5;
|
|
end_line=2687; end_column=26;
|
|
law_headings=["Article 31";
|
|
"Chapitre V : Calcul de l'aide personnalisée au logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gt_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
condition_2_du_832_25_)))
|
|
(fun (_: unit) ->
|
|
[|({TrancheRevenu.haut =
|
|
(LimiteTranche.Revenu
|
|
(money_of_cents_string "142303"));
|
|
TrancheRevenu.bas =
|
|
(money_of_cents_string "0");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.")});
|
|
({TrancheRevenu.haut =
|
|
(LimiteTranche.Revenu
|
|
(money_of_cents_string "204761"));
|
|
TrancheRevenu.bas =
|
|
(money_of_cents_string "142303");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.024")});
|
|
({TrancheRevenu.haut =
|
|
(LimiteTranche.Revenu
|
|
(money_of_cents_string "262985"));
|
|
TrancheRevenu.bas =
|
|
(money_of_cents_string "204761");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.208")});
|
|
({TrancheRevenu.haut =
|
|
(LimiteTranche.Revenu
|
|
(money_of_cents_string "409505"));
|
|
TrancheRevenu.bas =
|
|
(money_of_cents_string "262985");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.232")});
|
|
({TrancheRevenu.haut =
|
|
(LimiteTranche.Infini ());
|
|
TrancheRevenu.bas =
|
|
(money_of_cents_string "409505");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.328")})|]))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2637; start_column=14;
|
|
end_line=2637; end_column=38;
|
|
law_headings=["Article 31";
|
|
"Chapitre V : Calcul de l'aide personnalisée au logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gt_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) ->
|
|
[|({TrancheRevenu.haut =
|
|
(LimiteTranche.Revenu (money_of_cents_string
|
|
"194810"));
|
|
TrancheRevenu.bas = (money_of_cents_string
|
|
"0");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.04")});
|
|
({TrancheRevenu.haut =
|
|
(LimiteTranche.Revenu (money_of_cents_string
|
|
"267871"));
|
|
TrancheRevenu.bas = (money_of_cents_string
|
|
"194810");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.104")});
|
|
({TrancheRevenu.haut =
|
|
(LimiteTranche.Revenu (money_of_cents_string
|
|
"389618"));
|
|
TrancheRevenu.bas = (money_of_cents_string
|
|
"267871");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.216")});
|
|
({TrancheRevenu.haut =
|
|
(LimiteTranche.Revenu (money_of_cents_string
|
|
"535744"));
|
|
TrancheRevenu.bas = (money_of_cents_string
|
|
"389618");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.264")});
|
|
({TrancheRevenu.haut =
|
|
(LimiteTranche.Revenu (money_of_cents_string
|
|
"633129"));
|
|
TrancheRevenu.bas = (money_of_cents_string
|
|
"535744");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.32")});
|
|
({TrancheRevenu.haut = (LimiteTranche.Infini ());
|
|
TrancheRevenu.bas = (money_of_cents_string
|
|
"633129");
|
|
TrancheRevenu.taux =
|
|
(decimal_of_string "0.48")})|]))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=586; start_column=11; end_line=586; end_column=35;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let tranches_revenus_d832_26_multipliees_: TrancheRevenuDecimal.t array = (log_variable_definition
|
|
["CalculÉquivalenceLoyerMinimale";
|
|
"tranches_revenus_d832_26_multipliées"]
|
|
(embed_array (embed_tranche_revenu_decimal)) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4020; start_column=14;
|
|
end_line=4020; end_column=50;
|
|
law_headings=["Article D832-26";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_map
|
|
(fun (tranche_: TrancheRevenu.t) ->
|
|
{TrancheRevenuDecimal.haut =
|
|
(match (tranche_.TrancheRevenu.haut)
|
|
with
|
|
| LimiteTranche.Revenu tranche_haut_ ->
|
|
(LimiteTrancheDecimal.Revenu
|
|
(o_mult_rat_rat
|
|
(o_torat_mon tranche_haut_)
|
|
n_nombre_parts_d832_25_))
|
|
| LimiteTranche.Infini _ ->
|
|
(LimiteTrancheDecimal.Infini ()));
|
|
TrancheRevenuDecimal.bas =
|
|
(o_mult_rat_rat
|
|
(o_torat_mon
|
|
(tranche_.TrancheRevenu.bas))
|
|
n_nombre_parts_d832_25_);
|
|
TrancheRevenuDecimal.taux =
|
|
(tranche_.TrancheRevenu.taux)})
|
|
tranches_revenus_d832_26_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=587; start_column=11; end_line=587; end_column=47;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_: money = (log_variable_definition
|
|
["CalculÉquivalenceLoyerMinimale"; "montant"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4071; start_column=5;
|
|
end_line=4071; end_column=26;
|
|
law_headings=["Article D832-26";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
condition_2_du_832_25_))
|
|
(fun (_: unit) ->
|
|
(let ressources_menage_arrondies_ : decimal
|
|
=
|
|
(o_torat_mon ressources_menage_arrondies_)
|
|
in
|
|
(o_tomoney_rat
|
|
(o_div_rat_rat
|
|
(o_add_rat_rat
|
|
(o_reduce
|
|
(fun (sum1_: decimal)
|
|
(sum2_: decimal) ->
|
|
o_add_rat_rat sum1_ sum2_)
|
|
(decimal_of_string "0.")
|
|
(o_map
|
|
(fun
|
|
(tranche_:
|
|
TrancheRevenuDecimal.t) ->
|
|
if
|
|
(o_lte_rat_rat
|
|
ressources_menage_arrondies_
|
|
(tranche_.TrancheRevenuDecimal.bas))
|
|
then
|
|
(decimal_of_string "0.")
|
|
else
|
|
(match
|
|
(tranche_.TrancheRevenuDecimal.haut)
|
|
with
|
|
| LimiteTrancheDecimal.Revenu tranche_haut_ ->
|
|
( if
|
|
(o_gte_rat_rat
|
|
ressources_menage_arrondies_
|
|
tranche_haut_)
|
|
then
|
|
(o_mult_rat_rat
|
|
(o_sub_rat_rat
|
|
tranche_haut_
|
|
(tranche_.TrancheRevenuDecimal.bas))
|
|
(tranche_.TrancheRevenuDecimal.taux))
|
|
else
|
|
(o_mult_rat_rat
|
|
(o_sub_rat_rat
|
|
ressources_menage_arrondies_
|
|
(tranche_.TrancheRevenuDecimal.bas))
|
|
(tranche_.TrancheRevenuDecimal.taux)))
|
|
| LimiteTrancheDecimal.Infini _ ->
|
|
(o_mult_rat_rat
|
|
(o_sub_rat_rat
|
|
ressources_menage_arrondies_
|
|
(tranche_.TrancheRevenuDecimal.bas))
|
|
(tranche_.TrancheRevenuDecimal.taux))))
|
|
tranches_revenus_d832_26_multipliees_))
|
|
(o_torat_mon
|
|
montant_forfaitaire_d832_26_))
|
|
(decimal_of_string "12."))))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4033; start_column=14;
|
|
end_line=4033; end_column=21;
|
|
law_headings=["Article D832-26";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let ressources_menage_arrondies_ : decimal =
|
|
(o_torat_mon ressources_menage_arrondies_)
|
|
in
|
|
(o_tomoney_rat
|
|
(o_div_rat_rat
|
|
(o_add_rat_rat
|
|
(o_reduce
|
|
(fun (sum1_: decimal)
|
|
(sum2_: decimal) ->
|
|
o_add_rat_rat sum1_ sum2_)
|
|
(decimal_of_string "0.")
|
|
(o_map
|
|
(fun
|
|
(tranche_: TrancheRevenuDecimal.t) ->
|
|
if
|
|
(o_lte_rat_rat
|
|
ressources_menage_arrondies_
|
|
(tranche_.TrancheRevenuDecimal.bas))
|
|
then (decimal_of_string "0.")
|
|
else
|
|
(match
|
|
(tranche_.TrancheRevenuDecimal.haut)
|
|
with
|
|
| LimiteTrancheDecimal.Revenu tranche_haut_ ->
|
|
( if
|
|
(o_gte_rat_rat
|
|
ressources_menage_arrondies_
|
|
tranche_haut_) then
|
|
(o_mult_rat_rat
|
|
(o_sub_rat_rat
|
|
tranche_haut_
|
|
(tranche_.TrancheRevenuDecimal.bas))
|
|
(tranche_.TrancheRevenuDecimal.taux))
|
|
else
|
|
(o_mult_rat_rat
|
|
(o_sub_rat_rat
|
|
ressources_menage_arrondies_
|
|
(tranche_.TrancheRevenuDecimal.bas))
|
|
(tranche_.TrancheRevenuDecimal.taux)))
|
|
| LimiteTrancheDecimal.Infini _ ->
|
|
(o_mult_rat_rat
|
|
(o_sub_rat_rat
|
|
ressources_menage_arrondies_
|
|
(tranche_.TrancheRevenuDecimal.bas))
|
|
(tranche_.TrancheRevenuDecimal.taux))))
|
|
tranches_revenus_d832_26_multipliees_))
|
|
(o_mult_rat_rat
|
|
(o_torat_mon
|
|
montant_forfaitaire_d832_26_)
|
|
n_nombre_parts_d832_25_))
|
|
(decimal_of_string "12."))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=591; start_column=12; end_line=591; end_column=19;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
{CalculEquivalenceLoyerMinimale.montant = montant_}
|
|
|
|
let calcul_nombre_part_logement_foyer (calcul_nombre_part_logement_foyer_in: CalculNombrePartLogementFoyerIn.t) : CalculNombrePartLogementFoyer.t =
|
|
let condition_2_du_832_25_: bool = calcul_nombre_part_logement_foyer_in.CalculNombrePartLogementFoyerIn.condition_2_du_832_25_in in
|
|
let nombre_personnes_a_charge_: integer = calcul_nombre_part_logement_foyer_in.CalculNombrePartLogementFoyerIn.nombre_personnes_a_charge_in in
|
|
let situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t = calcul_nombre_part_logement_foyer_in.CalculNombrePartLogementFoyerIn.situation_familiale_calcul_apl_in in
|
|
let limitation_majoration_personnes_a_charge_: unit -> bool = calcul_nombre_part_logement_foyer_in.CalculNombrePartLogementFoyerIn.limitation_majoration_personnes_a_charge_in in
|
|
let limitation_majoration_personnes_a_charge_: bool = (log_variable_definition
|
|
["CalculNombrePartLogementFoyer";
|
|
"limitation_majoration_personnes_à_charge"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) -> limitation_majoration_personnes_a_charge_ ())|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=598; start_column=12;
|
|
end_line=598; end_column=52;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=598; start_column=12; end_line=598; end_column=52;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let n_nombre_parts_d832_25_base_: decimal = (log_variable_definition
|
|
["CalculNombrePartLogementFoyer"; "n_nombre_parts_d832_25_base"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3981; start_column=5;
|
|
end_line=3981; end_column=26;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
condition_2_du_832_25_))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "1.2")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "1.5")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(decimal_of_string "2.5") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(decimal_of_string "3.") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(decimal_of_string "3.7") else
|
|
(decimal_of_string "4.3"))))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3888; start_column=14;
|
|
end_line=3888; end_column=41;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "1.4")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "1.8")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(decimal_of_string "2.5") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(decimal_of_string "3.") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(decimal_of_string "3.7") else
|
|
(decimal_of_string "4.3"))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=600; start_column=11; end_line=600; end_column=38;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let n_nombre_parts_d832_25_majoration_: decimal = (log_variable_definition
|
|
["CalculNombrePartLogementFoyer"; "n_nombre_parts_d832_25_majoration"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5529; start_column=5;
|
|
end_line=5530; end_column=34;
|
|
law_headings=["Article D861-8";
|
|
"Section 2 : Allocations de logement";
|
|
"Titre VI : Disposition particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
limitation_majoration_personnes_a_charge_
|
|
(o_gt_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6")))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "1."))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3998; start_column=5;
|
|
end_line=3998; end_column=26;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
condition_2_du_832_25_))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gt_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "4")) then
|
|
(o_mult_rat_rat (decimal_of_string "0.5")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))) else
|
|
(decimal_of_string "0.")))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3903; start_column=14;
|
|
end_line=3903; end_column=47;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gt_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "4")) then
|
|
(o_mult_rat_rat (decimal_of_string "0.5")
|
|
(o_torat_int
|
|
(o_sub_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "4")))) else
|
|
(decimal_of_string "0.")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=601; start_column=11; end_line=601; end_column=44;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let n_nombre_parts_d832_25_: decimal = (log_variable_definition
|
|
["CalculNombrePartLogementFoyer"; "n_nombre_parts_d832_25"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3908; start_column=14;
|
|
end_line=3908; end_column=36;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_add_rat_rat n_nombre_parts_d832_25_base_
|
|
n_nombre_parts_d832_25_majoration_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=603; start_column=12; end_line=603; end_column=34;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
{CalculNombrePartLogementFoyer.n_nombre_parts_d832_25 =
|
|
n_nombre_parts_d832_25_}
|
|
|
|
let calcul_nombre_parts_accession_propriete (calcul_nombre_parts_accession_propriete_in: CalculNombrePartsAccessionProprieteIn.t) : CalculNombrePartsAccessionPropriete.t =
|
|
let nombre_personnes_a_charge_: integer = calcul_nombre_parts_accession_propriete_in.CalculNombrePartsAccessionProprieteIn.nombre_personnes_a_charge_in in
|
|
let situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t = calcul_nombre_parts_accession_propriete_in.CalculNombrePartsAccessionProprieteIn.situation_familiale_calcul_apl_in in
|
|
let n_nombre_parts_d832_11_: decimal = (log_variable_definition
|
|
["CalculNombrePartsAccessionPropriété"; "n_nombre_parts_d832_11"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3232; start_column=14;
|
|
end_line=3232; end_column=36;
|
|
law_headings=["Article D832-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "1.4")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "1.8")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(decimal_of_string "2.5") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(decimal_of_string "3.") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(decimal_of_string "3.7") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "4")) then
|
|
(decimal_of_string "4.3") else
|
|
(o_add_rat_rat
|
|
(decimal_of_string "4.3")
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.5")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=667; start_column=12; end_line=667; end_column=34;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
{CalculNombrePartsAccessionPropriete.n_nombre_parts_d832_11 =
|
|
n_nombre_parts_d832_11_}
|
|
|
|
let ouverture_droits_retraite (ouverture_droits_retraite_in: OuvertureDroitsRetraiteIn.t) : OuvertureDroitsRetraite.t =
|
|
let date_naissance_assure_: date = ouverture_droits_retraite_in.OuvertureDroitsRetraiteIn.date_naissance_assure_in in
|
|
let age_ouverture_droit_: duration = (log_variable_definition
|
|
["OuvertureDroitsRetraite"; "âge_ouverture_droit"] (embed_duration) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=119; start_column=5;
|
|
end_line=119; end_column=42;
|
|
law_headings=["Article L161-17-2";
|
|
"Paragraphe 1 : Information et simplification des démarches des assurés.";
|
|
"Sous-section 4 : Assurance vieillesse";
|
|
"Section 1 : Bénéficiaires";
|
|
"Chapitre 1er : Dispositions relatives aux prestations";
|
|
"Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales";
|
|
"Titre III: Titre III : Dispositions communes relatives au financement";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]}
|
|
(o_gte_dat_dat date_naissance_assure_
|
|
(date_of_numbers (1955) (1) (1)))))
|
|
(fun (_: unit) -> duration_of_numbers (62) (0) (0)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=256; start_column=5;
|
|
end_line=256; end_column=41;
|
|
law_headings=["Article D161-2-1-9";
|
|
"Paragraphe 2 : Ouverture du droit et liquidation.";
|
|
"Sous-section 4 : Assurance vieillesse";
|
|
"Section 1 : Bénéficiaires";
|
|
"Chapitre 1er : Dispositions relatives aux prestations";
|
|
"Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales";
|
|
"Livre I : Généralités - Dispositions communes à tout ou partie des régimes de base";
|
|
"Partie réglementaire - Décrets simples";
|
|
"Code de la sécurité sociale"]}
|
|
(o_lt_dat_dat date_naissance_assure_
|
|
(date_of_numbers (1951) (7) (1)))))
|
|
(fun (_: unit) -> duration_of_numbers (60) (0) (0)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=266; start_column=5;
|
|
end_line=267; end_column=42;
|
|
law_headings=["Article D161-2-1-9";
|
|
"Paragraphe 2 : Ouverture du droit et liquidation.";
|
|
"Sous-section 4 : Assurance vieillesse";
|
|
"Section 1 : Bénéficiaires";
|
|
"Chapitre 1er : Dispositions relatives aux prestations";
|
|
"Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales";
|
|
"Livre I : Généralités - Dispositions communes à tout ou partie des régimes de base";
|
|
"Partie réglementaire - Décrets simples";
|
|
"Code de la sécurité sociale"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_naissance_assure_
|
|
(date_of_numbers (1951) (7) (1)))
|
|
(o_lte_dat_dat date_naissance_assure_
|
|
(date_of_numbers (1951) (12) (31))))))
|
|
(fun (_: unit) ->
|
|
o_add_dur_dur (duration_of_numbers (60) (0) (0))
|
|
(duration_of_numbers (0) (4) (0))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=276; start_column=5;
|
|
end_line=276; end_column=48;
|
|
law_headings=["Article D161-2-1-9";
|
|
"Paragraphe 2 : Ouverture du droit et liquidation.";
|
|
"Sous-section 4 : Assurance vieillesse";
|
|
"Section 1 : Bénéficiaires";
|
|
"Chapitre 1er : Dispositions relatives aux prestations";
|
|
"Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales";
|
|
"Livre I : Généralités - Dispositions communes à tout ou partie des régimes de base";
|
|
"Partie réglementaire - Décrets simples";
|
|
"Code de la sécurité sociale"]}
|
|
(o_eq (o_getYear date_naissance_assure_)
|
|
(integer_of_string "1952"))))
|
|
(fun (_: unit) ->
|
|
o_add_dur_dur (duration_of_numbers (60) (0) (0))
|
|
(duration_of_numbers (0) (9) (0))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=285; start_column=5;
|
|
end_line=285; end_column=48;
|
|
law_headings=["Article D161-2-1-9";
|
|
"Paragraphe 2 : Ouverture du droit et liquidation.";
|
|
"Sous-section 4 : Assurance vieillesse";
|
|
"Section 1 : Bénéficiaires";
|
|
"Chapitre 1er : Dispositions relatives aux prestations";
|
|
"Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales";
|
|
"Livre I : Généralités - Dispositions communes à tout ou partie des régimes de base";
|
|
"Partie réglementaire - Décrets simples";
|
|
"Code de la sécurité sociale"]}
|
|
(o_eq (o_getYear date_naissance_assure_)
|
|
(integer_of_string "1953"))))
|
|
(fun (_: unit) ->
|
|
o_add_dur_dur (duration_of_numbers (61) (0) (0))
|
|
(duration_of_numbers (0) (2) (0))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=294; start_column=5;
|
|
end_line=294; end_column=48;
|
|
law_headings=["Article D161-2-1-9";
|
|
"Paragraphe 2 : Ouverture du droit et liquidation.";
|
|
"Sous-section 4 : Assurance vieillesse";
|
|
"Section 1 : Bénéficiaires";
|
|
"Chapitre 1er : Dispositions relatives aux prestations";
|
|
"Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales";
|
|
"Livre I : Généralités - Dispositions communes à tout ou partie des régimes de base";
|
|
"Partie réglementaire - Décrets simples";
|
|
"Code de la sécurité sociale"]}
|
|
(o_eq (o_getYear date_naissance_assure_)
|
|
(integer_of_string "1954"))))
|
|
(fun (_: unit) ->
|
|
o_add_dur_dur (duration_of_numbers (61) (0) (0))
|
|
(duration_of_numbers (0) (7) (0))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1010; start_column=12; end_line=1010; end_column=31;
|
|
law_headings=["Date d'ouverture des droits à la retraite";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
{OuvertureDroitsRetraite.age_ouverture_droit = age_ouverture_droit_}
|
|
|
|
let impaye_depense_logement (impaye_depense_logement_in: ImpayeDepenseLogementIn.t) : ImpayeDepenseLogement.t =
|
|
let mode_occupation_: ModeOccupation.t = impaye_depense_logement_in.ImpayeDepenseLogementIn.mode_occupation_in in
|
|
let aide_versee_: VersementA.t = impaye_depense_logement_in.ImpayeDepenseLogementIn.aide_versee_in in
|
|
let montant_apl_: money = impaye_depense_logement_in.ImpayeDepenseLogementIn.montant_apl_in in
|
|
let montant_charges_: money = impaye_depense_logement_in.ImpayeDepenseLogementIn.montant_charges_in in
|
|
let depense_logement_: DepenseLogement.t = impaye_depense_logement_in.ImpayeDepenseLogementIn.depense_logement_in in
|
|
let montant_dette_: money = impaye_depense_logement_in.ImpayeDepenseLogementIn.montant_dette_in in
|
|
let mode_occupation_impaye_: ModeOccupationImpaye.t = (log_variable_definition
|
|
["ImpayéDépenseLogement"; "mode_occupation_impayé"]
|
|
(embed_mode_occupation_impaye) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2317; start_column=14;
|
|
end_line=2317; end_column=36;
|
|
law_headings=["Article R824-3";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
match mode_occupation_
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
(ModeOccupationImpaye.ImpayeLoyer ())
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
(ModeOccupationImpaye.ImpayePret ())
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
(ModeOccupationImpaye.ImpayePret ())
|
|
| ModeOccupation.SousLocataire _ ->
|
|
(ModeOccupationImpaye.ImpayeLoyer ())
|
|
| ModeOccupation.LocationAccession _ ->
|
|
(ModeOccupationImpaye.ImpayeLoyer ())))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1026; start_column=11; end_line=1026; end_column=33;
|
|
law_headings=["Quantification des impayés de dépense de logement";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let depense_logement_brute_: DepenseLogement.t = (log_variable_definition
|
|
["ImpayéDépenseLogement"; "dépense_logement_brute"]
|
|
(embed_depense_logement) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2285; start_column=14;
|
|
end_line=2285; end_column=36;
|
|
law_headings=["Article R824-2";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match mode_occupation_impaye_
|
|
with
|
|
| ModeOccupationImpaye.ImpayeLoyer _ ->
|
|
false
|
|
| ModeOccupationImpaye.ImpayePret _ -> true)))
|
|
(fun (_: unit) -> depense_logement_))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2189; start_column=14;
|
|
end_line=2189; end_column=36;
|
|
law_headings=["Article R824-1";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match mode_occupation_impaye_
|
|
with
|
|
| ModeOccupationImpaye.ImpayeLoyer _ -> true
|
|
| ModeOccupationImpaye.ImpayePret _ -> false)))
|
|
(fun (_: unit) -> depense_logement_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1027; start_column=11; end_line=1027; end_column=33;
|
|
law_headings=["Quantification des impayés de dépense de logement";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let depense_logement_nette_: DepenseLogement.t = (log_variable_definition
|
|
["ImpayéDépenseLogement"; "dépense_logement_nette"]
|
|
(embed_depense_logement) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2198; start_column=14;
|
|
end_line=2198; end_column=36;
|
|
law_headings=["Article R824-1";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match mode_occupation_impaye_
|
|
with
|
|
| ModeOccupationImpaye.ImpayeLoyer _ -> true
|
|
| ModeOccupationImpaye.ImpayePret _ -> false)))
|
|
(fun (_: unit) ->
|
|
match depense_logement_brute_
|
|
with
|
|
| DepenseLogement.TotalAnnuelEcheances total_ ->
|
|
(DepenseLogement.TotalAnnuelEcheances total_)
|
|
| DepenseLogement.Mensualite mensualite_ ->
|
|
(DepenseLogement.Mensualite mensualite_)
|
|
| DepenseLogement.Loyer montant_loyer_ ->
|
|
(DepenseLogement.Loyer
|
|
(o_sub_mon_mon montant_loyer_ montant_apl_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2294; start_column=14;
|
|
end_line=2294; end_column=36;
|
|
law_headings=["Article R824-2";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match mode_occupation_impaye_
|
|
with
|
|
| ModeOccupationImpaye.ImpayeLoyer _ -> false
|
|
| ModeOccupationImpaye.ImpayePret _ -> true)))
|
|
(fun (_: unit) ->
|
|
match depense_logement_
|
|
with
|
|
| DepenseLogement.TotalAnnuelEcheances total_echeances_ ->
|
|
(DepenseLogement.TotalAnnuelEcheances
|
|
(o_sub_mon_mon total_echeances_
|
|
(o_mult_mon_rat montant_apl_
|
|
(decimal_of_string "12."))))
|
|
| DepenseLogement.Mensualite mensualite_ ->
|
|
(DepenseLogement.Mensualite
|
|
(o_sub_mon_mon mensualite_ montant_apl_))
|
|
| DepenseLogement.Loyer loyer_ ->
|
|
(DepenseLogement.Loyer loyer_)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1028; start_column=11; end_line=1028; end_column=33;
|
|
law_headings=["Quantification des impayés de dépense de logement";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let seuil_impaye_depense_de_logement_: money = (log_variable_definition
|
|
["ImpayéDépenseLogement"; "seuil_impayé_dépense_de_logement"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2159; start_column=20;
|
|
end_line=2159; end_column=55;
|
|
law_headings=["Article R824-1";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match mode_occupation_impaye_
|
|
with
|
|
| ModeOccupationImpaye.ImpayeLoyer _ -> true
|
|
| ModeOccupationImpaye.ImpayePret _ -> false)
|
|
(match aide_versee_
|
|
with
|
|
| VersementA.Bailleur _ -> false
|
|
| VersementA.Beneficiaire _ -> true
|
|
| VersementA.EtablissementHabilite _ -> false))))
|
|
(fun (_: unit) ->
|
|
match depense_logement_brute_
|
|
with
|
|
| DepenseLogement.TotalAnnuelEcheances _ ->
|
|
(money_of_cents_string "0")
|
|
| DepenseLogement.Mensualite _ ->
|
|
(money_of_cents_string "0")
|
|
| DepenseLogement.Loyer loyer_brut_ ->
|
|
(o_mult_mon_rat
|
|
(o_add_mon_mon loyer_brut_ montant_charges_)
|
|
(decimal_of_string "2."))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2175; start_column=20;
|
|
end_line=2175; end_column=51;
|
|
law_headings=["Article R824-1";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match mode_occupation_impaye_
|
|
with
|
|
| ModeOccupationImpaye.ImpayeLoyer _ -> true
|
|
| ModeOccupationImpaye.ImpayePret _ -> false)
|
|
(match aide_versee_
|
|
with
|
|
| VersementA.Bailleur _ -> true
|
|
| VersementA.Beneficiaire _ -> false
|
|
| VersementA.EtablissementHabilite _ -> false))))
|
|
(fun (_: unit) ->
|
|
match depense_logement_nette_
|
|
with
|
|
| DepenseLogement.TotalAnnuelEcheances _ ->
|
|
(money_of_cents_string "0")
|
|
| DepenseLogement.Mensualite _ ->
|
|
(money_of_cents_string "0")
|
|
| DepenseLogement.Loyer loyer_net_ ->
|
|
(o_mult_mon_rat
|
|
(o_add_mon_mon loyer_net_ montant_charges_)
|
|
(decimal_of_string "2."))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2241; start_column=7;
|
|
end_line=2241; end_column=42;
|
|
law_headings=["Article R824-2";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match mode_occupation_impaye_
|
|
with
|
|
| ModeOccupationImpaye.ImpayeLoyer _ -> false
|
|
| ModeOccupationImpaye.ImpayePret _ -> true)
|
|
(match aide_versee_
|
|
with
|
|
| VersementA.Bailleur _ -> false
|
|
| VersementA.Beneficiaire _ -> true
|
|
| VersementA.EtablissementHabilite _ -> false))))
|
|
(fun (_: unit) ->
|
|
match depense_logement_brute_
|
|
with
|
|
| DepenseLogement.TotalAnnuelEcheances echeance_pret_brute_ ->
|
|
(o_mult_mon_rat echeance_pret_brute_
|
|
(o_div_rat_rat (decimal_of_string "1.")
|
|
(decimal_of_string "6.")))
|
|
| DepenseLogement.Mensualite mensualite_brute_ ->
|
|
(o_mult_mon_rat mensualite_brute_
|
|
(decimal_of_string "2."))
|
|
| DepenseLogement.Loyer _ -> (money_of_cents_string
|
|
"0")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2269; start_column=7;
|
|
end_line=2269; end_column=51;
|
|
law_headings=["Article R824-2";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match mode_occupation_impaye_
|
|
with
|
|
| ModeOccupationImpaye.ImpayeLoyer _ -> false
|
|
| ModeOccupationImpaye.ImpayePret _ -> true)
|
|
(match aide_versee_
|
|
with
|
|
| VersementA.Bailleur _ -> false
|
|
| VersementA.Beneficiaire _ -> false
|
|
| VersementA.EtablissementHabilite _ -> true))))
|
|
(fun (_: unit) ->
|
|
match depense_logement_nette_
|
|
with
|
|
| DepenseLogement.TotalAnnuelEcheances echeance_pret_nette_ ->
|
|
(o_mult_mon_rat echeance_pret_nette_
|
|
(o_div_rat_rat (decimal_of_string "1.")
|
|
(decimal_of_string "6.")))
|
|
| DepenseLogement.Mensualite mensualite_nette_ ->
|
|
(o_mult_mon_rat mensualite_nette_
|
|
(decimal_of_string "2."))
|
|
| DepenseLogement.Loyer _ -> (money_of_cents_string
|
|
"0")))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1025; start_column=11; end_line=1025; end_column=43;
|
|
law_headings=["Quantification des impayés de dépense de logement";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_impaye_: money = (log_variable_definition
|
|
["ImpayéDépenseLogement"; "montant_impayé"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2217; start_column=14;
|
|
end_line=2217; end_column=28;
|
|
law_headings=["Article R824-2";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match mode_occupation_impaye_
|
|
with
|
|
| ModeOccupationImpaye.ImpayeLoyer _ ->
|
|
false
|
|
| ModeOccupationImpaye.ImpayePret _ -> true)))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_mon_mon montant_dette_
|
|
seuil_impaye_depense_de_logement_) then
|
|
montant_dette_ else
|
|
(money_of_cents_string "0")))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2154; start_column=14;
|
|
end_line=2154; end_column=28;
|
|
law_headings=["Article R824-1";
|
|
"Section 1 : Seuils de constitution d'un impayé";
|
|
"Chapitre IV : Impayés de dépenses de logement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match mode_occupation_impaye_
|
|
with
|
|
| ModeOccupationImpaye.ImpayeLoyer _ -> true
|
|
| ModeOccupationImpaye.ImpayePret _ -> false)))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_mon_mon montant_dette_
|
|
seuil_impaye_depense_de_logement_) then
|
|
montant_dette_ else (money_of_cents_string "0")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1030; start_column=12; end_line=1030; end_column=26;
|
|
law_headings=["Quantification des impayés de dépense de logement";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
{ImpayeDepenseLogement.montant_impaye = montant_impaye_}
|
|
|
|
let base_mensuelle_allocations_familiales (base_mensuelle_allocations_familiales_in: BaseMensuelleAllocationsFamilialesIn.t) : BaseMensuelleAllocationsFamiliales.t =
|
|
let date_courante_: date = base_mensuelle_allocations_familiales_in.BaseMensuelleAllocationsFamilialesIn.date_courante_in in
|
|
let montant_: money = (log_variable_definition
|
|
["BaseMensuelleAllocationsFamiliales"; "montant"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
|
|
start_line=32; start_column=5;
|
|
end_line=33; end_column=33;
|
|
law_headings=["Instruction ministérielle N°DSS/SD2B/2019/65 du 25 mars 2019 relative à la revalorisation au 1er avril 2019 des prestations familiales servies en métropole";
|
|
"Montant de la base mensuelle des allocations familiales"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (4) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2020) (4) (1))))))
|
|
(fun (_: unit) -> money_of_cents_string "41316"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
|
|
start_line=52; start_column=5;
|
|
end_line=53; end_column=33;
|
|
law_headings=["Instruction interministérielle no DSS/SD2B/2020/33 du 18 février 2020 relative à la revalorisation au 1er avril 2020 des prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, à Saint-Barthélemy, à Saint-Martin et dans le département de Mayotte";
|
|
"Montant de la base mensuelle des allocations familiales"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (4) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (4) (1))))))
|
|
(fun (_: unit) -> money_of_cents_string "41440"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
|
|
start_line=68; start_column=5;
|
|
end_line=69; end_column=33;
|
|
law_headings=["Instruction interministérielle n°DSS/2B/2021/65 du 19 mars 2021 relative à la revalorisation au 1er avril 2021 des prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à la Réunion, à Saint-Barthélemy, à Saint-Martin et dans le département de Mayotte";
|
|
"Montant de la base mensuelle des allocations familiales"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (4) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (4) (1))))))
|
|
(fun (_: unit) -> money_of_cents_string "41481"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
|
|
start_line=86; start_column=5;
|
|
end_line=86; end_column=34;
|
|
law_headings=["Instruction interministérielle n°DSS/2B/2022/82 du 28 mars 2022 relative à la revalorisation au 1er avril 2022 des prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à la Réunion, à Saint-Barthélemy, à Saint-Martin et dans le département de Mayotte";
|
|
"Montant de la base mensuelle des allocations familiales"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (4) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "42228"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
|
|
start_line=6; start_column=12; end_line=6; end_column=19;
|
|
law_headings=["Montant de la base mensuelle des allocations familiales"]})))) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (4) (1)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
|
|
start_line=10; start_column=13;
|
|
end_line=10; end_column=42;
|
|
law_headings=["Montant de la base mensuelle des allocations familiales"]})))
|
|
then () else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/../base_mensuelle_allocations_familiales/bmaf.catala_fr";
|
|
start_line=10; start_column=13;
|
|
end_line=10; end_column=42;
|
|
law_headings=["Montant de la base mensuelle des allocations familiales"]}) in
|
|
{BaseMensuelleAllocationsFamiliales.montant = montant_}
|
|
|
|
let verification_age_inferieur_ou_egal_a (verification_age_inferieur_ou_egal_a_in: VerificationAgeInferieurOuEgalAIn.t) : VerificationAgeInferieurOuEgalA.t =
|
|
let date_naissance_: date = verification_age_inferieur_ou_egal_a_in.VerificationAgeInferieurOuEgalAIn.date_naissance_in in
|
|
let date_courante_: date = verification_age_inferieur_ou_egal_a_in.VerificationAgeInferieurOuEgalAIn.date_courante_in in
|
|
let annees_: duration = verification_age_inferieur_ou_egal_a_in.VerificationAgeInferieurOuEgalAIn.annees_in in
|
|
let est_inferieur_ou_egal_: bool = (log_variable_definition
|
|
["VérificationÂgeInférieurOuÉgalÀ"; "est_inférieur_ou_égal"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/../prologue_france/prologue.catala_fr";
|
|
start_line=25; start_column=14;
|
|
end_line=25; end_column=35;
|
|
law_headings=["Prologue";
|
|
"Montant du salaire minimum de croissance"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_lte_dat_dat
|
|
(o_add_dat_dur RoundUp date_naissance_ annees_)
|
|
date_courante_))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/../prologue_france/prologue.catala_fr";
|
|
start_line=22; start_column=12; end_line=22; end_column=33;
|
|
law_headings=["Prologue"; "Montant du salaire minimum de croissance"]})))) in
|
|
{VerificationAgeInferieurOuEgalA.est_inferieur_ou_egal =
|
|
est_inferieur_ou_egal_}
|
|
|
|
let verification_age_superieur_a (verification_age_superieur_a_in: VerificationAgeSuperieurAIn.t) : VerificationAgeSuperieurA.t =
|
|
let date_naissance_: date = verification_age_superieur_a_in.VerificationAgeSuperieurAIn.date_naissance_in in
|
|
let date_courante_: date = verification_age_superieur_a_in.VerificationAgeSuperieurAIn.date_courante_in in
|
|
let annees_: duration = verification_age_superieur_a_in.VerificationAgeSuperieurAIn.annees_in in
|
|
let est_superieur_: bool = (log_variable_definition
|
|
["VérificationÂgeSupérieurÀ"; "est_supérieur"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/../prologue_france/prologue.catala_fr";
|
|
start_line=36; start_column=14;
|
|
end_line=36; end_column=27;
|
|
law_headings=["Prologue";
|
|
"Montant du salaire minimum de croissance"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_gt_dat_dat
|
|
(o_add_dat_dur RoundUp date_naissance_ annees_)
|
|
date_courante_))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/../prologue_france/prologue.catala_fr";
|
|
start_line=33; start_column=12; end_line=33; end_column=25;
|
|
law_headings=["Prologue"; "Montant du salaire minimum de croissance"]})))) in
|
|
{VerificationAgeSuperieurA.est_superieur = est_superieur_}
|
|
|
|
let smic (smic_in: SmicIn.t) : Smic.t =
|
|
let date_courante_: date = smic_in.SmicIn.date_courante_in in
|
|
let residence_: Collectivite.t = smic_in.SmicIn.residence_in in
|
|
let brut_horaire_: money = (log_variable_definition
|
|
["Smic"; "brut_horaire"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=34; start_column=5;
|
|
end_line=43; end_column=6;
|
|
law_headings=["Article 1";
|
|
"Décret n° 2018-1173 du 19 décembre 2018 portant relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (1) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (12) (31)))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Metropole ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guadeloupe ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guyane ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Martinique ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.LaReunion ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintBarthelemy
|
|
()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintMartin
|
|
()))
|
|
(o_eq residence_
|
|
(Collectivite.SaintPierreEtMiquelon
|
|
())))))))))))))
|
|
(fun (_: unit) -> money_of_cents_string "1003"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=52; start_column=5;
|
|
end_line=54; end_column=6;
|
|
law_headings=["Article 1";
|
|
"Décret n° 2018-1173 du 19 décembre 2018 portant relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (1) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (12) (31)))
|
|
(o_eq residence_ (Collectivite.Mayotte ()))))))
|
|
(fun (_: unit) -> money_of_cents_string "757"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=73; start_column=5;
|
|
end_line=82; end_column=6;
|
|
law_headings=["Article 1";
|
|
"Décret n° 2019-1387 du 18 décembre 2019 portant relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (12) (31)))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Metropole ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guadeloupe ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guyane ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Martinique ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.LaReunion ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintBarthelemy
|
|
()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintMartin
|
|
()))
|
|
(o_eq residence_
|
|
(Collectivite.SaintPierreEtMiquelon
|
|
())))))))))))))
|
|
(fun (_: unit) -> money_of_cents_string "1015"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=91; start_column=5;
|
|
end_line=93; end_column=6;
|
|
law_headings=["Article 1";
|
|
"Décret n° 2019-1387 du 18 décembre 2019 portant relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (12) (31)))
|
|
(o_eq residence_ (Collectivite.Mayotte ()))))))
|
|
(fun (_: unit) -> money_of_cents_string "766"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=112; start_column=5;
|
|
end_line=121; end_column=6;
|
|
law_headings=["Article 1";
|
|
"Décret n° 2020-1598 du 16 décembre 2020 portant relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (1) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (12) (31)))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Metropole ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guadeloupe ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guyane ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Martinique ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.LaReunion ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintBarthelemy
|
|
()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintMartin
|
|
()))
|
|
(o_eq residence_
|
|
(Collectivite.SaintPierreEtMiquelon
|
|
())))))))))))))
|
|
(fun (_: unit) -> money_of_cents_string "1025"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=130; start_column=5;
|
|
end_line=132; end_column=6;
|
|
law_headings=["Article 1";
|
|
"Décret n° 2020-1598 du 16 décembre 2020 portant relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (1) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (12) (31)))
|
|
(o_eq residence_ (Collectivite.Mayotte ()))))))
|
|
(fun (_: unit) -> money_of_cents_string "774"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=151; start_column=5;
|
|
end_line=160; end_column=6;
|
|
law_headings=["Article 1";
|
|
"Décret n° 2021-1741 du 22 décembre 2021 portant relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (4) (30)))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Metropole ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guadeloupe ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guyane ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Martinique ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.LaReunion ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintBarthelemy
|
|
()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintMartin
|
|
()))
|
|
(o_eq residence_
|
|
(Collectivite.SaintPierreEtMiquelon
|
|
())))))))))))))
|
|
(fun (_: unit) -> money_of_cents_string "1057"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=170; start_column=5;
|
|
end_line=172; end_column=6;
|
|
law_headings=["Article 1";
|
|
"Décret n° 2021-1741 du 22 décembre 2021 portant relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (4) (30)))
|
|
(o_eq residence_ (Collectivite.Mayotte ()))))))
|
|
(fun (_: unit) -> money_of_cents_string "798"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=191; start_column=5;
|
|
end_line=200; end_column=6;
|
|
law_headings=["Article 2";
|
|
"Arrêté du 19 avril 2022 relatif au relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (5) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (31)))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Metropole ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guadeloupe ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guyane ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Martinique ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.LaReunion ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintBarthelemy
|
|
()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintMartin
|
|
()))
|
|
(o_eq residence_
|
|
(Collectivite.SaintPierreEtMiquelon
|
|
())))))))))))))
|
|
(fun (_: unit) -> money_of_cents_string "1085"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=209; start_column=5;
|
|
end_line=211; end_column=6;
|
|
law_headings=["Article 2";
|
|
"Arrêté du 19 avril 2022 relatif au relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (5) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (31)))
|
|
(o_eq residence_ (Collectivite.Mayotte ()))))))
|
|
(fun (_: unit) -> money_of_cents_string "819"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=230; start_column=5;
|
|
end_line=239; end_column=6;
|
|
law_headings=["Article 2";
|
|
"Arrêté du 29 juillet 2022 relatif au relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (8) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (12) (31)))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Metropole ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guadeloupe ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guyane ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Martinique ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.LaReunion ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintBarthelemy
|
|
()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintMartin
|
|
()))
|
|
(o_eq residence_
|
|
(Collectivite.SaintPierreEtMiquelon
|
|
())))))))))))))
|
|
(fun (_: unit) -> money_of_cents_string "1107"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=248; start_column=5;
|
|
end_line=250; end_column=6;
|
|
law_headings=["Article 2";
|
|
"Arrêté du 29 juillet 2022 relatif au relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (8) (1)))
|
|
(o_and
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (12) (31)))
|
|
(o_eq residence_ (Collectivite.Mayotte ()))))))
|
|
(fun (_: unit) -> money_of_cents_string "835"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=270; start_column=5;
|
|
end_line=279; end_column=6;
|
|
law_headings=["Article 1";
|
|
"Décret n° 2022-1608 du 22 décembre 2022 portant relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(o_or
|
|
(o_eq residence_ (Collectivite.Metropole ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guadeloupe ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guyane ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Martinique ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.LaReunion ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintBarthelemy
|
|
()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintMartin
|
|
()))
|
|
(o_eq residence_
|
|
(Collectivite.SaintPierreEtMiquelon
|
|
()))))))))))))
|
|
(fun (_: unit) -> money_of_cents_string "1127"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=288; start_column=5;
|
|
end_line=290; end_column=6;
|
|
law_headings=["Article 1";
|
|
"Décret n° 2022-1608 du 22 décembre 2022 portant relèvement du salaire minimum de croissance";
|
|
"Montant du salaire minimum de croissance"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(o_eq residence_ (Collectivite.Mayotte ())))))
|
|
(fun (_: unit) -> money_of_cents_string "851"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=11; start_column=12; end_line=11; end_column=24;
|
|
law_headings=["Prologue"; "Montant du salaire minimum de croissance"]})))) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (1) (1)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=16; start_column=13;
|
|
end_line=16; end_column=42;
|
|
law_headings=["Prologue";
|
|
"Montant du salaire minimum de croissance"]})))
|
|
then () else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/../prestations_familiales/../smic/smic.catala_fr";
|
|
start_line=16; start_column=13;
|
|
end_line=16; end_column=42;
|
|
law_headings=["Prologue";
|
|
"Montant du salaire minimum de croissance"]}) in
|
|
{Smic.brut_horaire = brut_horaire_}
|
|
|
|
let arrondi_centaine_superieure_ : money -> money =
|
|
fun (ressources_menage_: money) ->
|
|
o_mult_mon_rat
|
|
(o_round_mon
|
|
(o_add_mon_mon
|
|
(o_mult_mon_rat ressources_menage_ (decimal_of_string "0.01"))
|
|
(money_of_cents_string "49"))) (decimal_of_string "100.")
|
|
|
|
let traitement_nul_tout_le_temps_ : money -> money =
|
|
fun (aide_finale_: money) -> money_of_cents_string "0"
|
|
|
|
let calcul_aide_personnalisee_logement_locatif (calcul_aide_personnalisee_logement_locatif_in: CalculAidePersonnaliseeLogementLocatifIn.t) : CalculAidePersonnaliseeLogementLocatif.t =
|
|
let loyer_principal_base_: money = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.loyer_principal_base_in in
|
|
let ressources_menage_arrondies_: money = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.ressources_menage_arrondies_in in
|
|
let beneficiaire_aide_adulte_ou_enfant_handicapes_: bool = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.beneficiaire_aide_adulte_ou_enfant_handicapes_in in
|
|
let date_courante_: date = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.date_courante_in in
|
|
let nombre_personnes_a_charge_: integer = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.nombre_personnes_a_charge_in in
|
|
let situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.situation_familiale_calcul_apl_in in
|
|
let zone_: ZoneDHabitation.t = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.zone_in in
|
|
let logement_est_chambre_: bool = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.logement_est_chambre_in in
|
|
let agees_ou_handicap_adultes_hebergees_onereux_particuliers_: bool = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.agees_ou_handicap_adultes_hebergees_onereux_particuliers_in in
|
|
let type_aide_: TypeAidesPersonnelleLogement.t = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.type_aide_in in
|
|
let colocation_: bool = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.colocation_in in
|
|
let reduction_loyer_solidarite_: money = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.reduction_loyer_solidarite_in in
|
|
let logement_meuble_d842_2_: bool = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.logement_meuble_d842_2_in in
|
|
let residence_: Collectivite.t = calcul_aide_personnalisee_logement_locatif_in.CalculAidePersonnaliseeLogementLocatifIn.residence_in in
|
|
let fraction_l832_3_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif"; "fraction_l832_3"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1860; start_column=14;
|
|
end_line=1860; end_column=29;
|
|
law_headings=["Article D823-16";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> decimal_of_string "0.98"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=531; start_column=11; end_line=531; end_column=26;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let contributions_sociales_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"contributions_sociales.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=563; start_column=14;
|
|
end_line=563; end_column=50;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=563; start_column=14; end_line=563; end_column=50;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let result_: ContributionsSocialesAidesPersonnelleLogement.t = (log_end_call
|
|
["CalculAidePersonnaliséeLogementLocatif"; "contributions_sociales";
|
|
"ContributionsSocialesAidesPersonnelleLogement"] ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementLocatif"; "contributions_sociales";
|
|
"ContributionsSocialesAidesPersonnelleLogement"]
|
|
contributions_sociales_aides_personnelle_logement)
|
|
({ContributionsSocialesAidesPersonnelleLogementIn.date_courante_in =
|
|
contributions_sociales_dot_date_courante_}))) in
|
|
let contributions_sociales_dot_montant_: money -> money = result_.ContributionsSocialesAidesPersonnelleLogement.montant in
|
|
let montant_forfaitaire_d823_16_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"montant_forfaitaire_d823_16"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=288; start_column=14;
|
|
end_line=288; end_column=41;
|
|
law_headings=["Article 11";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "500"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=534; start_column=11; end_line=534; end_column=38;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let multiplicateur_majoration_charges_d823_16_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"multiplicateur_majoration_charges_d823_16"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2188; start_column=14;
|
|
end_line=2188; end_column=55;
|
|
law_headings=["Article 9";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1106; start_column=14;
|
|
end_line=1106; end_column=55;
|
|
law_headings=["Article 9";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=238; start_column=14;
|
|
end_line=238; end_column=55;
|
|
law_headings=["Article 9";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
o_torat_int nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=539; start_column=11; end_line=539; end_column=52;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_minimal_aide_d823_16_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"montant_minimal_aide_d823_16"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=301; start_column=14;
|
|
end_line=301; end_column=42;
|
|
law_headings=["Article 12";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) ->
|
|
match type_aide_
|
|
with
|
|
| TypeAidesPersonnelleLogement.AidePersonnaliseeLogement _ ->
|
|
(money_of_cents_string "0")
|
|
| TypeAidesPersonnelleLogement.AllocationLogementFamiliale _ ->
|
|
(money_of_cents_string "1000")
|
|
| TypeAidesPersonnelleLogement.AllocationLogementSociale _ ->
|
|
(money_of_cents_string "1000")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=535; start_column=11; end_line=535; end_column=39;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let loyer_principal_avec_reduction_meuble_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"loyer_principal_avec_réduction_meublé"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4229; start_column=14;
|
|
end_line=4229; end_column=29;
|
|
law_headings=["Article D842-2";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if logement_meuble_d842_2_ then
|
|
(o_mult_mon_rat loyer_principal_base_
|
|
(o_div_rat_rat (decimal_of_string "2.")
|
|
(decimal_of_string "3."))) else
|
|
loyer_principal_base_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=508; start_column=10; end_line=508; end_column=31;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let taux_composition_familiale_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif"; "taux_composition_familiale"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4513; start_column=6;
|
|
end_line=4520; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Chapitre IX : Calcul des allocations de logement en outre-mer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "0.0281")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "0.0299")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(decimal_of_string "0.0238") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(decimal_of_string "0.0217") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(decimal_of_string "0.0194") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(decimal_of_string "0.018")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(decimal_of_string "0.0169")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")) then
|
|
(decimal_of_string "0.0162")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"7")) then
|
|
(decimal_of_string "0.0167")
|
|
else
|
|
(o_sub_rat_rat
|
|
(decimal_of_string "0.0167")
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0006")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"7"))))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} (
|
|
[||])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3605;
|
|
start_column=6;
|
|
end_line=3612; end_column=28;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(
|
|
o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(
|
|
match
|
|
residence_
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun
|
|
(_: unit) ->
|
|
if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
|
|
|
SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "0.0281")
|
|
|
|
|
SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "0.0299"))
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))
|
|
then
|
|
(decimal_of_string "0.0238")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"2"))
|
|
then
|
|
(decimal_of_string "0.0217")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"3"))
|
|
then
|
|
(decimal_of_string "0.0194")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"4"))
|
|
then
|
|
(decimal_of_string "0.018")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5"))
|
|
then
|
|
(decimal_of_string "0.0169")
|
|
else
|
|
(decimal_of_string "0.0162"))))))))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3068;
|
|
start_column=6;
|
|
end_line=3075; end_column=28;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "0.0281")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "0.0299"))
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")) then
|
|
(decimal_of_string "0.0238")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"2"))
|
|
then
|
|
(decimal_of_string "0.0217")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"3"))
|
|
then
|
|
(decimal_of_string "0.0194")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"4"))
|
|
then
|
|
(decimal_of_string "0.018")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5"))
|
|
then
|
|
(decimal_of_string "0.0169")
|
|
else
|
|
(decimal_of_string "0.0162"))))))))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1996;
|
|
start_column=6;
|
|
end_line=2003; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "0.0281")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "0.0299"))
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")) then
|
|
(decimal_of_string "0.0238")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"2")) then
|
|
(decimal_of_string "0.0217")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"3")) then
|
|
(decimal_of_string "0.0194")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"4")) then
|
|
(decimal_of_string "0.018")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5"))
|
|
then
|
|
(decimal_of_string "0.0169")
|
|
else
|
|
(decimal_of_string "0.0162"))))))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=881; start_column=6;
|
|
end_line=888; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "0.0281")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "0.0299"))
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "1"))
|
|
then
|
|
(decimal_of_string "0.0238")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "2"))
|
|
then
|
|
(decimal_of_string "0.0217")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"3")) then
|
|
(decimal_of_string "0.0194")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"4")) then
|
|
(decimal_of_string "0.018")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(decimal_of_string "0.0169")
|
|
else
|
|
(decimal_of_string "0.0162"))))))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=385; start_column=6;
|
|
end_line=392; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "0.0281")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "0.0299")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(decimal_of_string "0.0238") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(decimal_of_string "0.0217") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(decimal_of_string "0.0194") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(decimal_of_string "0.018")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(decimal_of_string "0.0169")
|
|
else
|
|
(decimal_of_string "0.0162"))))))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2251; start_column=29;
|
|
end_line=2251; end_column=55;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "0.0283")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "0.0315"))
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "1"))
|
|
then
|
|
(decimal_of_string "0.027")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "2"))
|
|
then
|
|
(decimal_of_string "0.0238")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"3")) then
|
|
(decimal_of_string "0.0201")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"4")) then
|
|
(decimal_of_string "0.0185")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(decimal_of_string "0.0179")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")) then
|
|
(decimal_of_string "0.0173")
|
|
else
|
|
(o_sub_rat_rat
|
|
(decimal_of_string "0.0173")
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0006")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")))))))))))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1168; start_column=29;
|
|
end_line=1168; end_column=55;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "0.0283")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "0.0315")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(decimal_of_string "0.027") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(decimal_of_string "0.0238") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(decimal_of_string "0.0201") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(decimal_of_string "0.0185")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(decimal_of_string "0.0179")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")) then
|
|
(decimal_of_string "0.0173")
|
|
else
|
|
(o_sub_rat_rat
|
|
(decimal_of_string "0.0173")
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0006")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")))))))))))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=363; start_column=29;
|
|
end_line=363; end_column=55;
|
|
law_headings=["Article 14";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(decimal_of_string "0.0283")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(decimal_of_string "0.0315")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(decimal_of_string "0.027") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(decimal_of_string "0.0238") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(decimal_of_string "0.0201") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "4")) then
|
|
(decimal_of_string "0.0185") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "5")) then
|
|
(decimal_of_string "0.0179") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "6")) then
|
|
(decimal_of_string "0.0173")
|
|
else
|
|
(o_sub_rat_rat
|
|
(decimal_of_string "0.0173")
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0006")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")))))))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=546; start_column=12; end_line=546; end_column=38;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let multiplicateur_majoration_r0_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"multiplicateur_majoration_r0"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} (
|
|
[||])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3387;
|
|
start_column=5;
|
|
end_line=3395; end_column=35;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(
|
|
o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(
|
|
o_and
|
|
(match
|
|
residence_
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun
|
|
(_: unit) ->
|
|
decimal_of_string "0."))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2851;
|
|
start_column=5;
|
|
end_line=2859; end_column=35;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(o_and
|
|
(match
|
|
residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "0."))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1780;
|
|
start_column=5;
|
|
end_line=1788; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "0."))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=662; start_column=5;
|
|
end_line=670; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "0."))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=168; start_column=5;
|
|
end_line=176; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))))
|
|
(fun (_: unit) -> decimal_of_string "0."))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3242;
|
|
start_column=14;
|
|
end_line=3242; end_column=42;
|
|
law_headings=["Article 15";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (1) (1))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=529; start_column=14;
|
|
end_line=529; end_column=42;
|
|
law_headings=["Article 15";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=35; start_column=14;
|
|
end_line=35; end_column=42;
|
|
law_headings=["Article 15";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (12) (31))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=485; start_column=14;
|
|
end_line=485; end_column=42;
|
|
law_headings=["Article 15";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=541; start_column=11; end_line=541; end_column=39;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let multiplicateur_majoration_loyer_reference_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"multiplicateur_majoration_loyer_référence"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} (
|
|
[||])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3365;
|
|
start_column=5;
|
|
end_line=3373; end_column=35;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(
|
|
o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(
|
|
o_and
|
|
(match
|
|
residence_
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun
|
|
(_: unit) ->
|
|
decimal_of_string "5."))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2830;
|
|
start_column=5;
|
|
end_line=2838; end_column=35;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(o_and
|
|
(match
|
|
residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "5."))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1759;
|
|
start_column=5;
|
|
end_line=1767; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "5."))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=640; start_column=5;
|
|
end_line=648; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "5."))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=147; start_column=5;
|
|
end_line=155; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))))
|
|
(fun (_: unit) -> decimal_of_string "5."))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2332; start_column=14;
|
|
end_line=2332; end_column=55;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1252; start_column=14;
|
|
end_line=1252; end_column=55;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=445; start_column=14;
|
|
end_line=445; end_column=55;
|
|
law_headings=["Article 14";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=540; start_column=11; end_line=540; end_column=52;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let multiplicateur_majoration_plafond_loyer_d823_16_2_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"multiplicateur_majoration_plafond_loyer_d823_16_2"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} (
|
|
[||])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3300;
|
|
start_column=5;
|
|
end_line=3308; end_column=35;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(
|
|
o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(
|
|
o_and
|
|
(match
|
|
residence_
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun
|
|
(_: unit) ->
|
|
decimal_of_string "5."))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2765;
|
|
start_column=5;
|
|
end_line=2773; end_column=35;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(o_and
|
|
(match
|
|
residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "5."))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1695;
|
|
start_column=5;
|
|
end_line=1703; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "5."))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=575; start_column=5;
|
|
end_line=583; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "5."))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=82; start_column=5;
|
|
end_line=90; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))))
|
|
(fun (_: unit) -> decimal_of_string "5."))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2397;
|
|
start_column=14;
|
|
end_line=2397; end_column=63;
|
|
law_headings=
|
|
["Article 16";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
colocation_))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2078;
|
|
start_column=14;
|
|
end_line=2078; end_column=63;
|
|
law_headings=["Article 7";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1319; start_column=14;
|
|
end_line=1319; end_column=63;
|
|
law_headings=["Article 16";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
colocation_))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=995; start_column=14;
|
|
end_line=995; end_column=63;
|
|
law_headings=["Article 7";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=128; start_column=14;
|
|
end_line=128; end_column=63;
|
|
law_headings=["Article 7";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
o_torat_int
|
|
(o_sub_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=538; start_column=11; end_line=538; end_column=60;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_forfaitaire_charges_d823_16_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"montant_forfaitaire_charges_d823_16"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4443;
|
|
start_column=5;
|
|
end_line=4451; end_column=15;
|
|
law_headings=["Article 46";
|
|
"Chapitre IX : Calcul des allocations de logement en outre-mer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true) colocation_))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1938")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3767"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"969")
|
|
multiplicateur_majoration_charges_d823_16_)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=314;
|
|
start_column=6;
|
|
end_line=321; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1938")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3767"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"969")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1938")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3767"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"969")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon montant_
|
|
limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1926;
|
|
start_column=6;
|
|
end_line=1933; end_column=28;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ :
|
|
money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1872")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3640"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money
|
|
=
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1872")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3640"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon
|
|
montant_
|
|
limite_) then
|
|
limite_ else
|
|
montant_)))))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=810;
|
|
start_column=6;
|
|
end_line=817; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1872")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3640"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1872")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3640"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon montant_
|
|
limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2998;
|
|
start_column=6;
|
|
end_line=3005; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1864")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3625"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"932")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1864")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3625"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"932")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon montant_
|
|
limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3534;
|
|
start_column=6;
|
|
end_line=3541; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1858")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3614"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"929")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1858")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3614"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"929")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon montant_
|
|
limite_) then
|
|
limite_ else montant_)))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=591; start_column=14;
|
|
end_line=591; end_column=49;
|
|
law_headings=["Article 16";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
colocation_)))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"2805")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"5612"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "1272")
|
|
multiplicateur_majoration_charges_d823_16_)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1347; start_column=14;
|
|
end_line=1347; end_column=49;
|
|
law_headings=["Article 16";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
colocation_))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"2710")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"5422"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "1229")
|
|
multiplicateur_majoration_charges_d823_16_)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2426; start_column=14;
|
|
end_line=2426; end_column=49;
|
|
law_headings=["Article 16";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
colocation_))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"2699")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"5399"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "1224")
|
|
multiplicateur_majoration_charges_d823_16_)))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4380; start_column=6;
|
|
end_line=4387; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Chapitre IX : Calcul des allocations de logement en outre-mer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon (money_of_cents_string "3767")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"969")
|
|
multiplicateur_majoration_charges_d823_16_)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=239; start_column=6;
|
|
end_line=246; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3767")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"969")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3767")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"969") (decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1852; start_column=6;
|
|
end_line=1859; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3640")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3640")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_)
|
|
then limite_ else montant_)))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=735; start_column=6;
|
|
end_line=742; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3640")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"936")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3640")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"936") (decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2924; start_column=6;
|
|
end_line=2931; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3625")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"932")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3625")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"932") (decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3460; start_column=6;
|
|
end_line=3467; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3614")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"929")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3614")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"929") (decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_) then
|
|
limite_ else montant_)))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=242; start_column=14;
|
|
end_line=242; end_column=49;
|
|
law_headings=["Article 9";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon (money_of_cents_string "5612")
|
|
(o_mult_mon_rat (money_of_cents_string "1272")
|
|
multiplicateur_majoration_charges_d823_16_)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1110; start_column=14;
|
|
end_line=1110; end_column=49;
|
|
law_headings=["Article 9";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon (money_of_cents_string "5422")
|
|
(o_mult_mon_rat (money_of_cents_string "1229")
|
|
multiplicateur_majoration_charges_d823_16_)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2192; start_column=14;
|
|
end_line=2192; end_column=49;
|
|
law_headings=["Article 9";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon (money_of_cents_string "5399")
|
|
(o_mult_mon_rat (money_of_cents_string "1224")
|
|
multiplicateur_majoration_charges_d823_16_)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=543; start_column=12; end_line=543; end_column=47;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let abattement_forfaitaire_d823_17_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"abattement_forfaitaire_d823_17"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4343; start_column=5;
|
|
end_line=4351; end_column=34;
|
|
law_headings=["Article 46";
|
|
"Chapitre IX : Calcul des allocations de logement en outre-mer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))))
|
|
(fun (_: unit) -> money_of_cents_string
|
|
"818100"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4604; start_column=5;
|
|
end_line=4606; end_column=28;
|
|
law_headings=["Article 47";
|
|
"Chapitre IX : Calcul des allocations de logement en outre-mer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> false
|
|
| Collectivite.LaReunion _ -> false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ -> false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
true
|
|
| Collectivite.Mayotte _ -> false))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "527200")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "755200"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "900800") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "921100")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "956300")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"991900") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"1027100") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")) then
|
|
(money_of_cents_string
|
|
"1062600") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"1062600")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"35000")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=211; start_column=5;
|
|
end_line=219; end_column=34;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))))
|
|
(fun (_: unit) -> money_of_cents_string
|
|
"805100"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=459; start_column=5;
|
|
end_line=461; end_column=28;
|
|
law_headings=["Article 47";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> false
|
|
| Collectivite.LaReunion _ -> false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ -> false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
true
|
|
| Collectivite.Mayotte _ -> false))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "487000")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "697700"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "832200") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "850900")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "883400")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"916300") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"948800") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")) then
|
|
(money_of_cents_string
|
|
"981600") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"981600")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"35000")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=706; start_column=5;
|
|
end_line=714; end_column=34;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))))
|
|
(fun (_: unit) -> money_of_cents_string
|
|
"774200"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3184; start_column=5;
|
|
end_line=3193; end_column=28;
|
|
law_headings=["Article 47";
|
|
"Articles en vigueur à partir du 01 janvier 2021 - Arrêté du 31 décembre 2020 relatif au calcul des aides personnelles au logement pour l'année 2021 NOR : LOGL2028351A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "427400")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "612200"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "699000") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "743200")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "785400")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"828300") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"871100") else
|
|
(money_of_cents_string
|
|
"913900"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3431;
|
|
start_column=5;
|
|
end_line=3439; end_column=34;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
(fun (_: unit) ->
|
|
money_of_cents_string
|
|
"758400"))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2894; start_column=5;
|
|
end_line=2902; end_column=34;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))))
|
|
(fun (_: unit) -> money_of_cents_string
|
|
"758400"))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1824; start_column=5;
|
|
end_line=1832; end_column=34;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1"))))))
|
|
(fun (_: unit) -> money_of_cents_string
|
|
"758400"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3693; start_column=5;
|
|
end_line=3702; end_column=28;
|
|
law_headings=["Article 47";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "396000")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "567300"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "639600") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "684900")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "738600")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"793500") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"848400") else
|
|
(money_of_cents_string
|
|
"903200"))))))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=489; start_column=14;
|
|
end_line=489; end_column=44;
|
|
law_headings=["Article 15";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "494900")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "709000")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "845600") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "864600") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "897700") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "4")) then
|
|
(money_of_cents_string "931100") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "5")) then
|
|
(money_of_cents_string "964200")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "6")) then
|
|
(money_of_cents_string "997500")
|
|
else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"997500")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"32800")
|
|
multiplicateur_majoration_r0_))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=39; start_column=14;
|
|
end_line=39; end_column=44;
|
|
law_headings=["Article 15";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (12) (31))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "487000")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "697700")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "832200") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "850900") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "883400") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "4")) then
|
|
(money_of_cents_string "916300") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "5")) then
|
|
(money_of_cents_string "948800")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "6")) then
|
|
(money_of_cents_string "981600")
|
|
else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"981600")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"32300")
|
|
multiplicateur_majoration_r0_))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=533; start_column=14;
|
|
end_line=533; end_column=44;
|
|
law_headings=["Article 15";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "468300")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "670900")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "800200") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "819200") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "849500") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "4")) then
|
|
(money_of_cents_string "881100") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "5")) then
|
|
(money_of_cents_string "912400")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "6")) then
|
|
(money_of_cents_string "943900")
|
|
else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"943900")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"31100")
|
|
multiplicateur_majoration_r0_))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3246; start_column=14;
|
|
end_line=3246; end_column=44;
|
|
law_headings=["Article 15";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "458800")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "657200")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "783900") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "801500") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "832200") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "4")) then
|
|
(money_of_cents_string "863100") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "5")) then
|
|
(money_of_cents_string "893800")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "6")) then
|
|
(money_of_cents_string "924600")
|
|
else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"924600")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"30500")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6")))))))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=536; start_column=11; end_line=536; end_column=41;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let loyer_reference_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif"; "loyer_référence"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=448; start_column=14;
|
|
end_line=448; end_column=29;
|
|
law_headings=["Article 14";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "26887")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "32910")) else
|
|
(o_add_mon_mon (money_of_cents_string "37032")
|
|
(o_mult_mon_rat (money_of_cents_string "5390")
|
|
multiplicateur_majoration_loyer_reference_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1255; start_column=14;
|
|
end_line=1255; end_column=29;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "25978")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31797")) else
|
|
(o_add_mon_mon (money_of_cents_string "35780")
|
|
(o_mult_mon_rat (money_of_cents_string "5208")
|
|
multiplicateur_majoration_loyer_reference_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2335; start_column=14;
|
|
end_line=2335; end_column=29;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "25869")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31664")) else
|
|
(o_add_mon_mon (money_of_cents_string "35630")
|
|
(o_mult_mon_rat (money_of_cents_string "5186")
|
|
multiplicateur_majoration_loyer_reference_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=530; start_column=11; end_line=530; end_column=26;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let plafond_loyer_d823_16_2_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif"; "plafond_loyer_d823_16_2"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=549; start_column=5;
|
|
end_line=550; end_column=34;
|
|
law_headings=["Article 16";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
colocation_)
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
true
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
false)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "23138")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "20165")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "18900")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=558; start_column=5;
|
|
end_line=559; end_column=34;
|
|
law_headings=["Article 16";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
colocation_)
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
false
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
true)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "27905")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "24683")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "22911")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=567; start_column=5;
|
|
end_line=567; end_column=35;
|
|
law_headings=["Article 16";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
colocation_)
|
|
(o_gte_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "1")))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"31539")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "4576")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"27774")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "4043")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"25689")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "3682")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1301; start_column=5;
|
|
end_line=1302; end_column=34;
|
|
law_headings=["Article 16";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
colocation_))
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
true
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
false)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "22355")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "19484")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "18261")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1310; start_column=5;
|
|
end_line=1311; end_column=34;
|
|
law_headings=["Article 16";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
colocation_))
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
false
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
true)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "26962")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "23848")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "22136")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1323; start_column=5;
|
|
end_line=1323; end_column=35;
|
|
law_headings=["Article 16";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
colocation_))
|
|
(o_gte_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "1")))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"30473")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "4421")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"26835")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "3906")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"24821")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "3557")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2379; start_column=5;
|
|
end_line=2380; end_column=34;
|
|
law_headings=["Article 16";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
colocation_))
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
true
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
false)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "22262")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "19402")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "18185")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2388; start_column=5;
|
|
end_line=2389; end_column=34;
|
|
law_headings=["Article 16";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
colocation_))
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
false
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
true)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "26849")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "23748")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "22044")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2401; start_column=5;
|
|
end_line=2401; end_column=35;
|
|
law_headings=["Article 16";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
colocation_))
|
|
(o_gte_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "1")))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"30345")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "4403")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"26723")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "3890")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"24717")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "3542")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=201; start_column=5;
|
|
end_line=201; end_column=61;
|
|
law_headings=["Article 8";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
logement_est_chambre_)
|
|
agees_ou_handicap_adultes_hebergees_onereux_particuliers_)))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "23138")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "20165")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "18900")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1069; start_column=5;
|
|
end_line=1069; end_column=61;
|
|
law_headings=["Article 8";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
logement_est_chambre_))
|
|
agees_ou_handicap_adultes_hebergees_onereux_particuliers_)))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "22355")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "19484")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "18261")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2151; start_column=5;
|
|
end_line=2151; end_column=61;
|
|
law_headings=["Article 8";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
logement_est_chambre_))
|
|
agees_ou_handicap_adultes_hebergees_onereux_particuliers_)))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "22262")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "19402")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "18185")))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=194; start_column=14;
|
|
end_line=194; end_column=37;
|
|
law_headings=["Article 8";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
logement_est_chambre_)))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "27765")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "24198")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "22680")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1062; start_column=14;
|
|
end_line=1062; end_column=37;
|
|
law_headings=["Article 8";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
logement_est_chambre_))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "26826")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "23380")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "21913")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2144; start_column=14;
|
|
end_line=2144; end_column=37;
|
|
law_headings=["Article 8";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
logement_est_chambre_))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(money_of_cents_string "26714")
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(money_of_cents_string "23282")
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(money_of_cents_string "21821")))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=109; start_column=5;
|
|
end_line=110; end_column=34;
|
|
law_headings=["Article 7";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
true
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
false)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ -> (money_of_cents_string
|
|
"30850")
|
|
| ZoneDHabitation.Zone2 _ -> (money_of_cents_string
|
|
"26887")
|
|
| ZoneDHabitation.Zone3 _ -> (money_of_cents_string
|
|
"25200")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=119; start_column=5;
|
|
end_line=120; end_column=34;
|
|
law_headings=["Article 7";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
false
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
true)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ -> (money_of_cents_string
|
|
"37207")
|
|
| ZoneDHabitation.Zone2 _ -> (money_of_cents_string
|
|
"32910")
|
|
| ZoneDHabitation.Zone3 _ -> (money_of_cents_string
|
|
"30548")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=133; start_column=5;
|
|
end_line=133; end_column=35;
|
|
law_headings=["Article 7";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_gte_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "1")))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(o_add_mon_mon (money_of_cents_string "42052")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"6101")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(o_add_mon_mon (money_of_cents_string "37032")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"5390")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(o_add_mon_mon (money_of_cents_string "34252")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"4909")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=976; start_column=5;
|
|
end_line=977; end_column=34;
|
|
law_headings=["Article 7";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
true
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
false)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ -> (money_of_cents_string
|
|
"29807")
|
|
| ZoneDHabitation.Zone2 _ -> (money_of_cents_string
|
|
"25978")
|
|
| ZoneDHabitation.Zone3 _ -> (money_of_cents_string
|
|
"24348")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=986; start_column=5;
|
|
end_line=987; end_column=34;
|
|
law_headings=["Article 7";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
false
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
true)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ -> (money_of_cents_string
|
|
"35949")
|
|
| ZoneDHabitation.Zone2 _ -> (money_of_cents_string
|
|
"31797")
|
|
| ZoneDHabitation.Zone3 _ -> (money_of_cents_string
|
|
"29515")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1000; start_column=5;
|
|
end_line=1000; end_column=35;
|
|
law_headings=["Article 7";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(o_gte_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "1")))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(o_add_mon_mon (money_of_cents_string "40630")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"5895")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(o_add_mon_mon (money_of_cents_string "35780")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"5208")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(o_add_mon_mon (money_of_cents_string "33094")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"4743")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2059; start_column=5;
|
|
end_line=2060; end_column=34;
|
|
law_headings=["Article 7";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
true
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
false)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ -> (money_of_cents_string
|
|
"29682")
|
|
| ZoneDHabitation.Zone2 _ -> (money_of_cents_string
|
|
"25859")
|
|
| ZoneDHabitation.Zone3 _ -> (money_of_cents_string
|
|
"24246")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2069; start_column=5;
|
|
end_line=2070; end_column=34;
|
|
law_headings=["Article 7";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(o_and
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
false
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
true)
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0"))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ -> (money_of_cents_string
|
|
"35799")
|
|
| ZoneDHabitation.Zone2 _ -> (money_of_cents_string
|
|
"31664")
|
|
| ZoneDHabitation.Zone3 _ -> (money_of_cents_string
|
|
"29392")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2083; start_column=5;
|
|
end_line=2083; end_column=35;
|
|
law_headings=["Article 7";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(o_gte_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "1")))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(o_add_mon_mon (money_of_cents_string "40460")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"5870")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(o_add_mon_mon (money_of_cents_string "35630")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"5186")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(o_add_mon_mon (money_of_cents_string "32956")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"4723")
|
|
multiplicateur_majoration_plafond_loyer_d823_16_2_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=544; start_column=12; end_line=544; end_column=35;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let plafond_suppression_d823_16_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"plafond_suppression_d823_16"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=272; start_column=14;
|
|
end_line=272; end_column=41;
|
|
law_headings=["Article 10";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(o_mult_mon_rat plafond_loyer_d823_16_2_
|
|
(decimal_of_string "4."))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(o_mult_mon_rat plafond_loyer_d823_16_2_
|
|
(decimal_of_string "3.1"))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(o_mult_mon_rat plafond_loyer_d823_16_2_
|
|
(decimal_of_string "3.1"))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=533; start_column=11; end_line=533; end_column=38;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let plafond_degressivite_d823_16_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"plafond_dégressivité_d823_16"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=266; start_column=14;
|
|
end_line=266; end_column=42;
|
|
law_headings=["Article 10";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
(o_mult_mon_rat plafond_loyer_d823_16_2_
|
|
(decimal_of_string "3.4"))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
(o_mult_mon_rat plafond_loyer_d823_16_2_
|
|
(decimal_of_string "2.5"))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
(o_mult_mon_rat plafond_loyer_d823_16_2_
|
|
(decimal_of_string "2.5"))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=532; start_column=11; end_line=532; end_column=39;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let loyer_eligible_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif"; "loyer_éligible"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1761; start_column=14;
|
|
end_line=1761; end_column=28;
|
|
law_headings=["Article D823-16";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gt_mon_mon
|
|
loyer_principal_avec_reduction_meuble_
|
|
plafond_loyer_d823_16_2_) then
|
|
plafond_loyer_d823_16_2_ else
|
|
loyer_principal_avec_reduction_meuble_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=525; start_column=11; end_line=525; end_column=25;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_diminue_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_diminué"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1810; start_column=5;
|
|
end_line=1810; end_column=50;
|
|
law_headings=["Article D823-16";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
beneficiaire_aide_adulte_ou_enfant_handicapes_))
|
|
(fun (_: unit) -> aide_finale_))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1796; start_column=14;
|
|
end_line=1796; end_column=36;
|
|
law_headings=["Article D823-16";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gt_mon_mon
|
|
loyer_principal_avec_reduction_meuble_
|
|
plafond_suppression_d823_16_) then
|
|
(money_of_cents_string "0") else
|
|
( if
|
|
(o_gt_mon_mon
|
|
loyer_principal_avec_reduction_meuble_
|
|
plafond_degressivite_d823_16_) then
|
|
(o_sub_mon_mon aide_finale_
|
|
(o_mult_mon_rat aide_finale_
|
|
(o_div_mon_mon
|
|
(o_sub_mon_mon
|
|
loyer_principal_avec_reduction_meuble_
|
|
plafond_degressivite_d823_16_)
|
|
(o_sub_mon_mon
|
|
plafond_suppression_d823_16_
|
|
plafond_degressivite_d823_16_))))
|
|
else aide_finale_)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=556; start_column=10; end_line=556; end_column=17;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let participation_minimale_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif"; "participation_minimale"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=317; start_column=14;
|
|
end_line=317; end_column=36;
|
|
law_headings=["Article 13";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_mon_mon
|
|
(o_mult_mon_rat
|
|
(o_add_mon_mon loyer_eligible_
|
|
montant_forfaitaire_charges_d823_16_)
|
|
(decimal_of_string "0.085"))
|
|
(money_of_cents_string "3663")) then
|
|
(o_mult_mon_rat
|
|
(o_add_mon_mon loyer_eligible_
|
|
montant_forfaitaire_charges_d823_16_)
|
|
(decimal_of_string "0.085")) else
|
|
(money_of_cents_string "3663")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1124; start_column=14;
|
|
end_line=1124; end_column=36;
|
|
law_headings=["Article 13";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_mon_mon
|
|
(o_mult_mon_rat
|
|
(o_add_mon_mon loyer_eligible_
|
|
montant_forfaitaire_charges_d823_16_)
|
|
(decimal_of_string "0.085"))
|
|
(money_of_cents_string "3539")) then
|
|
(o_mult_mon_rat
|
|
(o_add_mon_mon loyer_eligible_
|
|
montant_forfaitaire_charges_d823_16_)
|
|
(decimal_of_string "0.085")) else
|
|
(money_of_cents_string "3539")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2206; start_column=14;
|
|
end_line=2206; end_column=36;
|
|
law_headings=["Article 13";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_mon_mon
|
|
(o_mult_mon_rat
|
|
(o_add_mon_mon loyer_eligible_
|
|
montant_forfaitaire_charges_d823_16_)
|
|
(decimal_of_string "0.085"))
|
|
(money_of_cents_string "3524")) then
|
|
(o_mult_mon_rat
|
|
(o_add_mon_mon loyer_eligible_
|
|
montant_forfaitaire_charges_d823_16_)
|
|
(decimal_of_string "0.085")) else
|
|
(money_of_cents_string "3524")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=545; start_column=12; end_line=545; end_column=34;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let rapport_loyers_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif"; "rapport_loyers"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2281; start_column=14;
|
|
end_line=2281; end_column=28;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat
|
|
(o_round_rat
|
|
(o_mult_rat_rat
|
|
(o_div_mon_mon
|
|
loyer_eligible_
|
|
loyer_reference_)
|
|
(decimal_of_string "100.")))
|
|
(decimal_of_string "100.")))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1198; start_column=14;
|
|
end_line=1198; end_column=28;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat
|
|
(o_round_rat
|
|
(o_mult_rat_rat
|
|
(o_div_mon_mon loyer_eligible_
|
|
loyer_reference_)
|
|
(decimal_of_string "100.")))
|
|
(decimal_of_string "100.")))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=393; start_column=14;
|
|
end_line=393; end_column=28;
|
|
law_headings=["Article 14";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat
|
|
(o_round_rat
|
|
(o_mult_rat_rat
|
|
(o_div_mon_mon loyer_eligible_
|
|
loyer_reference_)
|
|
(decimal_of_string "100.")))
|
|
(decimal_of_string "100.")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=529; start_column=11; end_line=529; end_column=25;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_minoration_forfaitaire_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_minoration_forfaitaire"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1820; start_column=14;
|
|
end_line=1820; end_column=36;
|
|
law_headings=["Article D823-16";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_diminué"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_diminué"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_diminué"]
|
|
traitement_aide_finale_diminue_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_diminué"; "input0"]
|
|
(embed_money) aide_finale_)))))))
|
|
in
|
|
( if
|
|
(o_gte_mon_mon
|
|
(o_sub_mon_mon aide_finale_
|
|
montant_forfaitaire_d823_16_)
|
|
(money_of_cents_string "0")) then
|
|
(o_sub_mon_mon aide_finale_
|
|
montant_forfaitaire_d823_16_) else
|
|
(money_of_cents_string "0")))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=557; start_column=10; end_line=557; end_column=32;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let taux_loyer_eligible_formule_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"taux_loyer_éligible_formule"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2305; start_column=14;
|
|
end_line=2305; end_column=33;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_lt_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.45"))
|
|
then (decimal_of_string "0.") else
|
|
( if
|
|
(o_and
|
|
(o_gte_rat_rat
|
|
rapport_loyers_
|
|
(decimal_of_string "0.45"))
|
|
(o_lt_rat_rat
|
|
rapport_loyers_
|
|
(decimal_of_string "0.75")))
|
|
then
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0045")
|
|
(o_sub_rat_rat
|
|
rapport_loyers_
|
|
(decimal_of_string "0.0045")))
|
|
else
|
|
( if
|
|
(o_gte_rat_rat
|
|
rapport_loyers_
|
|
(decimal_of_string "0.75"))
|
|
then
|
|
(o_add_rat_rat
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0045")
|
|
(decimal_of_string "0.3"))
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0068")
|
|
(o_sub_rat_rat
|
|
rapport_loyers_
|
|
(decimal_of_string "0.75"))))
|
|
else
|
|
(decimal_of_string "0.")))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1225; start_column=14;
|
|
end_line=1225; end_column=33;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_lt_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.45")) then
|
|
(decimal_of_string "0.") else
|
|
( if
|
|
(o_and
|
|
(o_gte_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.45"))
|
|
(o_lt_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.75"))) then
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0045")
|
|
(o_sub_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.0045")))
|
|
else
|
|
( if
|
|
(o_gte_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.75")) then
|
|
(o_add_rat_rat
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0045")
|
|
(decimal_of_string "0.3"))
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0068")
|
|
(o_sub_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.75"))))
|
|
else (decimal_of_string "0.")))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=419; start_column=14;
|
|
end_line=419; end_column=33;
|
|
law_headings=["Article 14";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_lt_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.45")) then
|
|
(decimal_of_string "0.") else
|
|
( if
|
|
(o_and
|
|
(o_gte_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.45"))
|
|
(o_lt_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.75"))) then
|
|
(o_mult_rat_rat (decimal_of_string "0.0045")
|
|
(o_sub_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.0045"))) else
|
|
( if
|
|
(o_gte_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.75")) then
|
|
(o_add_rat_rat
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0045")
|
|
(decimal_of_string "0.3"))
|
|
(o_mult_rat_rat
|
|
(decimal_of_string "0.0068")
|
|
(o_sub_rat_rat rapport_loyers_
|
|
(decimal_of_string "0.75")))) else
|
|
(decimal_of_string "0.")))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=527; start_column=10; end_line=527; end_column=17;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_contributions_sociales_arrondi_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1837; start_column=14;
|
|
end_line=1837; end_column=36;
|
|
law_headings=["Article D823-16";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_minoration_forfaitaire"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_minoration_forfaitaire";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_minoration_forfaitaire"]
|
|
traitement_aide_finale_minoration_forfaitaire_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_minoration_forfaitaire";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
(let crds_ : money = ((log_end_call
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"] ((log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"; "output"] (embed_money)
|
|
((log_begin_call
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"]
|
|
contributions_sociales_dot_montant_)
|
|
((log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"; "input0"] (embed_money)
|
|
aide_finale_)))))))
|
|
in
|
|
(let aide_finale_moins_crds_arrondie_ : money =
|
|
(o_round_mon
|
|
(o_sub_mon_mon
|
|
(o_sub_mon_mon aide_finale_ crds_)
|
|
(money_of_cents_string "50")))
|
|
in
|
|
( if
|
|
(o_gte_mon_mon
|
|
(o_add_mon_mon
|
|
aide_finale_moins_crds_arrondie_ crds_)
|
|
(money_of_cents_string "0")) then
|
|
(o_add_mon_mon
|
|
aide_finale_moins_crds_arrondie_ crds_)
|
|
else (money_of_cents_string "0")))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=558; start_column=10; end_line=558; end_column=40;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let taux_loyer_eligible_taux_arrondi_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"taux_loyer_éligible_taux_arrondi"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2312; start_column=14;
|
|
end_line=2312; end_column=33;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat
|
|
(o_round_rat
|
|
(o_mult_rat_rat
|
|
taux_loyer_eligible_formule_
|
|
(decimal_of_string "100000.")))
|
|
(decimal_of_string "100000.")))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1232; start_column=14;
|
|
end_line=1232; end_column=33;
|
|
law_headings=["Article 14";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat
|
|
(o_round_rat
|
|
(o_mult_rat_rat
|
|
taux_loyer_eligible_formule_
|
|
(decimal_of_string "100000.")))
|
|
(decimal_of_string "100000.")))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=426; start_column=14;
|
|
end_line=426; end_column=33;
|
|
law_headings=["Article 14";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat
|
|
(o_round_rat
|
|
(o_mult_rat_rat taux_loyer_eligible_formule_
|
|
(decimal_of_string "100000.")))
|
|
(decimal_of_string "100000.")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=528; start_column=10; end_line=528; end_column=22;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_reduction_loyer_solidarite_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_réduction_loyer_solidarité"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=830; start_column=14;
|
|
end_line=830; end_column=36;
|
|
law_headings=["Article L832-3";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_contributions_sociales_arrondi";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"]
|
|
traitement_aide_finale_contributions_sociales_arrondi_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_contributions_sociales_arrondi";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
( if
|
|
(o_gte_mon_mon
|
|
(o_sub_mon_mon aide_finale_
|
|
(o_mult_mon_rat
|
|
reduction_loyer_solidarite_
|
|
fraction_l832_3_))
|
|
(money_of_cents_string "0")) then
|
|
(o_sub_mon_mon aide_finale_
|
|
(o_mult_mon_rat reduction_loyer_solidarite_
|
|
fraction_l832_3_)) else
|
|
(money_of_cents_string "0")))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=559; start_column=10; end_line=559; end_column=36;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let taux_prise_compte_ressources_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"taux_prise_compte_ressources"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1920; start_column=14;
|
|
end_line=1920; end_column=42;
|
|
law_headings=["Article D823-17";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_add_rat_rat taux_composition_familiale_
|
|
taux_loyer_eligible_taux_arrondi_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=537; start_column=11; end_line=537; end_column=39;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_montant_minimal_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_montant_minimal"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1869; start_column=14;
|
|
end_line=1869; end_column=36;
|
|
law_headings=["Article D823-16";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_réduction_loyer_solidarité"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_réduction_loyer_solidarité";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_réduction_loyer_solidarité"]
|
|
traitement_aide_finale_reduction_loyer_solidarite_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_réduction_loyer_solidarité";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
( if
|
|
(o_lt_mon_mon aide_finale_
|
|
montant_minimal_aide_d823_16_) then
|
|
(money_of_cents_string "0") else aide_finale_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=560; start_column=10; end_line=560; end_column=25;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let participation_personnelle_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif"; "participation_personnelle"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1886; start_column=14;
|
|
end_line=1886; end_column=39;
|
|
law_headings=["Article D823-17";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let participation_ressources_ : money =
|
|
(o_mult_mon_rat
|
|
(o_sub_mon_mon ressources_menage_arrondies_
|
|
abattement_forfaitaire_d823_17_)
|
|
taux_prise_compte_ressources_)
|
|
in
|
|
(let participation_ressources_ : money =
|
|
( if
|
|
(o_lt_mon_mon participation_ressources_
|
|
(money_of_cents_string "0")) then
|
|
(money_of_cents_string "0") else
|
|
participation_ressources_)
|
|
in
|
|
(o_add_mon_mon participation_minimale_
|
|
participation_ressources_)))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=547; start_column=12; end_line=547; end_column=37;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let aide_finale_formule_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif"; "aide_finale_formule"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1743; start_column=14;
|
|
end_line=1743; end_column=33;
|
|
law_headings=["Article D823-16";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money =
|
|
(o_sub_mon_mon
|
|
(o_add_mon_mon loyer_eligible_
|
|
montant_forfaitaire_charges_d823_16_)
|
|
participation_personnelle_)
|
|
in
|
|
( if
|
|
(o_lt_mon_mon aide_finale_ (money_of_cents_string
|
|
"0")) then (money_of_cents_string "0") else
|
|
aide_finale_))))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=552; start_column=12; end_line=552; end_column=31;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_mon_mon plafond_degressivite_d823_16_
|
|
(o_mult_mon_rat plafond_loyer_d823_16_2_
|
|
(decimal_of_string "2.5")))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1813; start_column=13;
|
|
end_line=1813; end_column=74;
|
|
law_headings=["Article D823-16";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})))
|
|
then () else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1813; start_column=13;
|
|
end_line=1813; end_column=74;
|
|
law_headings=["Article D823-16";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}) in
|
|
let _: unit = if (
|
|
try
|
|
(o_and
|
|
(o_gte_rat_rat fraction_l832_3_
|
|
(decimal_of_string "0.9"))
|
|
(o_lte_rat_rat fraction_l832_3_
|
|
(decimal_of_string "0.98")))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=840; start_column=13;
|
|
end_line=840; end_column=61;
|
|
law_headings=["Article L832-3";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]})))
|
|
then () else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=840; start_column=13;
|
|
end_line=840; end_column=61;
|
|
law_headings=["Article L832-3";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}) in
|
|
let _: unit = if (
|
|
try (o_not (o_and logement_est_chambre_ colocation_)) with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=574; start_column=13;
|
|
end_line=574; end_column=53;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}))) then
|
|
() else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=574; start_column=13;
|
|
end_line=574; end_column=53;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_int_int nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=567; start_column=13;
|
|
end_line=567; end_column=43;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}))) then
|
|
() else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=567; start_column=13;
|
|
end_line=567; end_column=43;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=566; start_column=13;
|
|
end_line=566; end_column=42;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}))) then
|
|
() else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=566; start_column=13;
|
|
end_line=566; end_column=42;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}) in
|
|
{CalculAidePersonnaliseeLogementLocatif.montant_forfaitaire_charges_d823_16 =
|
|
montant_forfaitaire_charges_d823_16_;
|
|
CalculAidePersonnaliseeLogementLocatif.plafond_loyer_d823_16_2 =
|
|
plafond_loyer_d823_16_2_;
|
|
CalculAidePersonnaliseeLogementLocatif.participation_minimale =
|
|
participation_minimale_;
|
|
CalculAidePersonnaliseeLogementLocatif.taux_composition_familiale =
|
|
taux_composition_familiale_;
|
|
CalculAidePersonnaliseeLogementLocatif.participation_personnelle =
|
|
participation_personnelle_;
|
|
CalculAidePersonnaliseeLogementLocatif.aide_finale_formule =
|
|
aide_finale_formule_;
|
|
CalculAidePersonnaliseeLogementLocatif.traitement_aide_finale =
|
|
traitement_aide_finale_montant_minimal_}
|
|
|
|
let calcul_aide_personnalisee_logement_foyer (calcul_aide_personnalisee_logement_foyer_in: CalculAidePersonnaliseeLogementFoyerIn.t) : CalculAidePersonnaliseeLogementFoyer.t =
|
|
let type_logement_foyer_: TypeLogementFoyer.t = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.type_logement_foyer_in in
|
|
let date_conventionnement_: date = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.date_conventionnement_in in
|
|
let ressources_menage_arrondies_: money = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.ressources_menage_arrondies_in in
|
|
let nombre_personnes_a_charge_: integer = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.nombre_personnes_a_charge_in in
|
|
let situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.situation_familiale_calcul_apl_in in
|
|
let zone_: ZoneDHabitation.t = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.zone_in in
|
|
let date_courante_: date = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.date_courante_in in
|
|
let redevance_: money = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.redevance_in in
|
|
let condition_2_du_832_25_: unit -> bool = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.condition_2_du_832_25_in in
|
|
let limitation_majoration_personnes_a_charge_: unit -> bool = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.limitation_majoration_personnes_a_charge_in in
|
|
let n_nombre_parts_d832_25_: unit -> decimal = calcul_aide_personnalisee_logement_foyer_in.CalculAidePersonnaliseeLogementFoyerIn.n_nombre_parts_d832_25_in in
|
|
let limitation_majoration_personnes_a_charge_: bool = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"limitation_majoration_personnes_à_charge"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) -> limitation_majoration_personnes_a_charge_ ())|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=616; start_column=12;
|
|
end_line=616; end_column=52;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=616; start_column=12; end_line=616; end_column=52;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_2_du_832_25_: bool = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer"; "condition_2_du_832_25"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) -> condition_2_du_832_25_ ())|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3822; start_column=14;
|
|
end_line=3822; end_column=35;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
match type_logement_foyer_
|
|
with
|
|
| TypeLogementFoyer.LogementPersonnesAgeesOuHandicapees _ ->
|
|
false
|
|
| TypeLogementFoyer.ResidenceSociale _ ->
|
|
(o_gte_dat_dat date_conventionnement_
|
|
(date_of_numbers (1994) (12) (31)))
|
|
| TypeLogementFoyer.FoyerJeunesTrvailleursOuMigrantsConventionneL353_2Avant1995 _ ->
|
|
(o_gte_dat_dat date_conventionnement_
|
|
(date_of_numbers (1990) (9) (30)))
|
|
| TypeLogementFoyer.Autre _ -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=615; start_column=12; end_line=615; end_column=33;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let contributions_sociales_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"contributions_sociales.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=652; start_column=14;
|
|
end_line=652; end_column=50;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=652; start_column=14; end_line=652; end_column=50;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let result_: ContributionsSocialesAidesPersonnelleLogement.t = (log_end_call
|
|
["CalculAidePersonnaliséeLogementFoyer"; "contributions_sociales";
|
|
"ContributionsSocialesAidesPersonnelleLogement"] ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementFoyer"; "contributions_sociales";
|
|
"ContributionsSocialesAidesPersonnelleLogement"]
|
|
contributions_sociales_aides_personnelle_logement)
|
|
({ContributionsSocialesAidesPersonnelleLogementIn.date_courante_in =
|
|
contributions_sociales_dot_date_courante_}))) in
|
|
let contributions_sociales_dot_montant_: money -> money = result_.ContributionsSocialesAidesPersonnelleLogement.montant in
|
|
let montant_minimal_aide_d823_24_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer"; "montant_minimal_aide_d823_24"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2584; start_column=14;
|
|
end_line=2584; end_column=42;
|
|
law_headings=["Article 29";
|
|
"Chapitre V : Calcul de l'aide personnalisée au logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "1000"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=629; start_column=11; end_line=629; end_column=39;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_forfaitaire_d832_24_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer"; "montant_forfaitaire_d832_24"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2572; start_column=14;
|
|
end_line=2572; end_column=41;
|
|
law_headings=["Article 28";
|
|
"Chapitre V : Calcul de l'aide personnalisée au logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "500"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=627; start_column=11; end_line=627; end_column=38;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let plafond_equivalence_loyer_eligible_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"plafond_équivalence_loyer_éligible"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2517; start_column=14;
|
|
end_line=2517; end_column=48;
|
|
law_headings=["Article 27";
|
|
"Chapitre V : Calcul de l'aide personnalisée au logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "46192")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "54152")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "57741") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "61794") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "65862") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "71039")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "7368")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "42242")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "49299")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "52565") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "56268") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "59957") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "63887")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "6659")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "40096")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "46634")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "49475") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "52740") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "56004") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "59675")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "6180")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1449; start_column=14;
|
|
end_line=1449; end_column=48;
|
|
law_headings=["Article 27";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "44630")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "52321")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "55788") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "59704") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "63635") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "68637")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "7119")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "40814")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "47632")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "50787") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "54365") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "57929") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "61727")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "6434")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "38740")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "45057")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "47802") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "50957") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "54110") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "57657")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "5971")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2529; start_column=14;
|
|
end_line=2529; end_column=48;
|
|
law_headings=["Article 27";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "44443")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "52101")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "55555") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "59454") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "63369") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "68350")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "7089")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "40643")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "47433")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "50575") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "54138") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "57687") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "61469")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "6407")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "38578")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "44869")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "47602") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "50744") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "53884") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "57416")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "5946")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4")))))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=622; start_column=12; end_line=622; end_column=46;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_r_d832_25_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer"; "coefficient_r_d832_25"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2599; start_column=14;
|
|
end_line=2599; end_column=35;
|
|
law_headings=["Article 30";
|
|
"Chapitre V : Calcul de l'aide personnalisée au logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "121726"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=619; start_column=12; end_line=619; end_column=33;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_nombre_parts_dot_condition_2_du_832_25_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"calcul_nombre_parts.condition_2_du_832_25"] (embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3916; start_column=14;
|
|
end_line=3916; end_column=55;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> condition_2_du_832_25_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3916; start_column=14; end_line=3916; end_column=55;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_nombre_parts_dot_nombre_personnes_a_charge_: integer =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"calcul_nombre_parts.nombre_personnes_à_charge"] (embed_integer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3912; start_column=14;
|
|
end_line=3912; end_column=59;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3912; start_column=14; end_line=3912; end_column=59;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_nombre_parts_dot_situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"calcul_nombre_parts.situation_familiale_calcul_apl"]
|
|
(embed_situation_familiale_calcul_a_p_l)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3914; start_column=14;
|
|
end_line=3914; end_column=64;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> situation_familiale_calcul_apl_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3914; start_column=14; end_line=3914; end_column=64;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_nombre_parts_dot_limitation_majoration_personnes_a_charge_:
|
|
unit -> bool = fun (_: unit) -> (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"calcul_nombre_parts.limitation_majoration_personnes_à_charge"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5546; start_column=5;
|
|
end_line=5546; end_column=45;
|
|
law_headings=["Article D861-8";
|
|
"Section 2 : Allocations de logement";
|
|
"Titre VI : Disposition particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
limitation_majoration_personnes_a_charge_))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))) in
|
|
let result_: CalculNombrePartLogementFoyer.t = (log_end_call
|
|
["CalculAidePersonnaliséeLogementFoyer"; "calcul_nombre_parts";
|
|
"CalculNombrePartLogementFoyer"] ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementFoyer"; "calcul_nombre_parts";
|
|
"CalculNombrePartLogementFoyer"] calcul_nombre_part_logement_foyer)
|
|
({CalculNombrePartLogementFoyerIn.condition_2_du_832_25_in =
|
|
calcul_nombre_parts_dot_condition_2_du_832_25_;
|
|
CalculNombrePartLogementFoyerIn.nombre_personnes_a_charge_in =
|
|
calcul_nombre_parts_dot_nombre_personnes_a_charge_;
|
|
CalculNombrePartLogementFoyerIn.situation_familiale_calcul_apl_in =
|
|
calcul_nombre_parts_dot_situation_familiale_calcul_apl_;
|
|
CalculNombrePartLogementFoyerIn.limitation_majoration_personnes_a_charge_in =
|
|
calcul_nombre_parts_dot_limitation_majoration_personnes_a_charge_}))) in
|
|
let calcul_nombre_parts_dot_n_nombre_parts_d832_25_: decimal = result_.CalculNombrePartLogementFoyer.n_nombre_parts_d832_25 in
|
|
let montant_forfaitaire_d832_27_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer"; "montant_forfaitaire_d832_27"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2757; start_column=14;
|
|
end_line=2757; end_column=41;
|
|
law_headings=["Article 32";
|
|
"Chapitre V : Calcul de l'aide personnalisée au logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) ->
|
|
if condition_2_du_832_25_ then
|
|
(money_of_cents_string "1500") else
|
|
(money_of_cents_string "2668")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=628; start_column=11; end_line=628; end_column=38;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_multiplicateur_d832_25_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"coefficient_multiplicateur_d832_25"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2610; start_column=14;
|
|
end_line=2610; end_column=48;
|
|
law_headings=["Article 30";
|
|
"Chapitre V : Calcul de l'aide personnalisée au logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) ->
|
|
if condition_2_du_832_25_ then
|
|
(money_of_cents_string "2142091") else
|
|
(money_of_cents_string "1339340")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=618; start_column=12; end_line=618; end_column=46;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_minoration_forfaitaire_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_minoration_forfaitaire"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3755; start_column=14;
|
|
end_line=3755; end_column=36;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_mon_mon
|
|
(o_sub_mon_mon aide_finale_
|
|
montant_forfaitaire_d832_24_)
|
|
(money_of_cents_string "0")) then
|
|
(o_sub_mon_mon aide_finale_
|
|
montant_forfaitaire_d832_24_) else
|
|
(money_of_cents_string "0")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=646; start_column=10; end_line=646; end_column=32;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let equivalence_loyer_eligible_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer"; "équivalence_loyer_éligible"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3729; start_column=14;
|
|
end_line=3729; end_column=40;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_mon_mon redevance_
|
|
plafond_equivalence_loyer_eligible_) then
|
|
plafond_equivalence_loyer_eligible_ else
|
|
redevance_))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=621; start_column=12; end_line=621; end_column=38;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let n_nombre_parts_d832_25_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer"; "n_nombre_parts_d832_25"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) -> n_nombre_parts_d832_25_ ())|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3918; start_column=14;
|
|
end_line=3918; end_column=36;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calcul_nombre_parts_dot_n_nombre_parts_d832_25_))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=620; start_column=21; end_line=620; end_column=43;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let depense_nette_minimale_d832_27_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"dépense_nette_minimale_d832_27"] (unembeddable)
|
|
(fun (allocation_mensuelle_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4119; start_column=14;
|
|
end_line=4119; end_column=44;
|
|
law_headings=["Article D832-27";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_sub_mon_mon equivalence_loyer_eligible_
|
|
allocation_mensuelle_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=625; start_column=11; end_line=625; end_column=41;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_equivalence_loyer_minimale_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"calcul_équivalence_loyer_minimale.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=653; start_column=14;
|
|
end_line=653; end_column=61;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=653; start_column=14; end_line=653; end_column=61;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_ressources_menage_arrondies_: money =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"calcul_équivalence_loyer_minimale.ressources_ménage_arrondies"]
|
|
(embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3745; start_column=14;
|
|
end_line=3745; end_column=75;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_arrondies_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3745; start_column=14; end_line=3745; end_column=75;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_condition_2_du_832_25_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"calcul_équivalence_loyer_minimale.condition_2_du_832_25"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3743; start_column=14;
|
|
end_line=3743; end_column=69;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> condition_2_du_832_25_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3743; start_column=14; end_line=3743; end_column=69;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_n_nombre_parts_d832_25_: decimal =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"calcul_équivalence_loyer_minimale.n_nombre_parts_d832_25"]
|
|
(embed_decimal)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3747; start_column=14;
|
|
end_line=3747; end_column=70;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> n_nombre_parts_d832_25_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3747; start_column=14; end_line=3747; end_column=70;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let result_: CalculEquivalenceLoyerMinimale.t = (log_end_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"calcul_équivalence_loyer_minimale";
|
|
"CalculÉquivalenceLoyerMinimale"] ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"calcul_équivalence_loyer_minimale";
|
|
"CalculÉquivalenceLoyerMinimale"] calcul_equivalence_loyer_minimale)
|
|
({CalculEquivalenceLoyerMinimaleIn.date_courante_in =
|
|
calcul_equivalence_loyer_minimale_dot_date_courante_;
|
|
CalculEquivalenceLoyerMinimaleIn.ressources_menage_arrondies_in =
|
|
calcul_equivalence_loyer_minimale_dot_ressources_menage_arrondies_;
|
|
CalculEquivalenceLoyerMinimaleIn.condition_2_du_832_25_in =
|
|
calcul_equivalence_loyer_minimale_dot_condition_2_du_832_25_;
|
|
CalculEquivalenceLoyerMinimaleIn.n_nombre_parts_d832_25_in =
|
|
calcul_equivalence_loyer_minimale_dot_n_nombre_parts_d832_25_}))) in
|
|
let calcul_equivalence_loyer_minimale_dot_montant_: money = result_.CalculEquivalenceLoyerMinimale.montant in
|
|
let coefficient_prise_en_charge_d832_25_formule_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"coefficient_prise_en_charge_d832_25_formule"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3931; start_column=5;
|
|
end_line=3931; end_column=26;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
condition_2_du_832_25_))
|
|
(fun (_: unit) ->
|
|
o_sub_rat_rat (decimal_of_string "0.9")
|
|
(o_div_mon_mon
|
|
ressources_menage_arrondies_
|
|
(o_mult_mon_rat
|
|
coefficient_multiplicateur_d832_25_
|
|
n_nombre_parts_d832_25_))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3837; start_column=14;
|
|
end_line=3837; end_column=49;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let denominateur_ : money =
|
|
(o_sub_mon_mon ressources_menage_arrondies_
|
|
(o_mult_mon_rat coefficient_r_d832_25_
|
|
n_nombre_parts_d832_25_))
|
|
in
|
|
(let denominateur_ : money =
|
|
( if
|
|
(o_lt_mon_mon denominateur_
|
|
(money_of_cents_string "0")) then
|
|
(money_of_cents_string "0") else denominateur_)
|
|
in
|
|
(o_sub_rat_rat (decimal_of_string "0.95")
|
|
(o_div_mon_mon denominateur_
|
|
(o_mult_mon_rat
|
|
coefficient_multiplicateur_d832_25_
|
|
n_nombre_parts_d832_25_)))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=639; start_column=10; end_line=639; end_column=17;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let abattement_depense_nette_minimale_d832_27_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"abattement_dépense_nette_minimale_d832_27"] (unembeddable)
|
|
(fun (allocation_mensuelle_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4123; start_column=14;
|
|
end_line=4123; end_column=55;
|
|
law_headings=["Article D832-27";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let depense_nette_minimale_ : money =
|
|
((log_end_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"dépense_nette_minimale_d832_27"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"dépense_nette_minimale_d832_27"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"dépense_nette_minimale_d832_27"]
|
|
depense_nette_minimale_d832_27_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"dépense_nette_minimale_d832_27"; "input0"]
|
|
(embed_money) allocation_mensuelle_)))))))
|
|
in
|
|
( if
|
|
(o_lte_mon_mon depense_nette_minimale_
|
|
montant_forfaitaire_d832_27_) then
|
|
(o_sub_mon_mon montant_forfaitaire_d832_27_
|
|
depense_nette_minimale_) else
|
|
(money_of_cents_string "0")))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=623; start_column=11; end_line=623; end_column=52;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let equivalence_loyer_minimale_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer"; "équivalence_loyer_minimale"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3741; start_column=14;
|
|
end_line=3741; end_column=40;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calcul_equivalence_loyer_minimale_dot_montant_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=630; start_column=12; end_line=630; end_column=38;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_prise_en_charge_d832_25_coeff_arrondi_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"coefficient_prise_en_charge_d832_25_coeff_arrondi"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3948; start_column=5;
|
|
end_line=3948; end_column=26;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
condition_2_du_832_25_))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat
|
|
(o_round_rat
|
|
(o_mult_rat_rat
|
|
(o_sub_rat_rat
|
|
coefficient_prise_en_charge_d832_25_formule_
|
|
(decimal_of_string "0.005"))
|
|
(decimal_of_string "100.")))
|
|
(decimal_of_string "100.")))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3858; start_column=14;
|
|
end_line=3858; end_column=49;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat
|
|
(o_round_rat
|
|
(o_mult_rat_rat
|
|
(o_sub_rat_rat
|
|
coefficient_prise_en_charge_d832_25_formule_
|
|
(decimal_of_string "0.005"))
|
|
(decimal_of_string "100.")))
|
|
(decimal_of_string "100.")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=640; start_column=10; end_line=640; end_column=23;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_abattement_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_abattement"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3769; start_column=14;
|
|
end_line=3769; end_column=36;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_minoration_forfaitaire"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_minoration_forfaitaire";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_minoration_forfaitaire"]
|
|
traitement_aide_finale_minoration_forfaitaire_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_minoration_forfaitaire";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
(let aide_finale_ : money =
|
|
(o_sub_mon_mon aide_finale_ ((log_end_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"abattement_dépense_nette_minimale_d832_27"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"abattement_dépense_nette_minimale_d832_27";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"abattement_dépense_nette_minimale_d832_27"]
|
|
abattement_depense_nette_minimale_d832_27_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"abattement_dépense_nette_minimale_d832_27";
|
|
"input0"] (embed_money)
|
|
aide_finale_))))))))
|
|
in
|
|
( if
|
|
(o_gte_mon_mon aide_finale_
|
|
(money_of_cents_string "0")) then
|
|
aide_finale_ else (money_of_cents_string "0"))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=647; start_column=10; end_line=647; end_column=20;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_prise_en_charge_d832_25_seuil_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"coefficient_prise_en_charge_d832_25_seuil"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3954; start_column=5;
|
|
end_line=3954; end_column=26;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
condition_2_du_832_25_))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_rat_rat
|
|
coefficient_prise_en_charge_d832_25_coeff_arrondi_
|
|
(decimal_of_string "0.9")) then
|
|
(decimal_of_string "0.9") else
|
|
coefficient_prise_en_charge_d832_25_coeff_arrondi_))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3861; start_column=14;
|
|
end_line=3861; end_column=49;
|
|
law_headings=["Article D832-25";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_rat_rat
|
|
coefficient_prise_en_charge_d832_25_coeff_arrondi_
|
|
(decimal_of_string "0.95")) then
|
|
(decimal_of_string "0.95") else
|
|
coefficient_prise_en_charge_d832_25_coeff_arrondi_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=641; start_column=10; end_line=641; end_column=15;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_contributions_sociales_arrondi_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3783; start_column=14;
|
|
end_line=3783; end_column=36;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_abattement"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_abattement";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_abattement"]
|
|
traitement_aide_finale_abattement_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_abattement";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
(let crds_ : money = ((log_end_call
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"] ((log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"; "output"] (embed_money)
|
|
((log_begin_call
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"]
|
|
contributions_sociales_dot_montant_)
|
|
((log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"; "input0"] (embed_money)
|
|
aide_finale_)))))))
|
|
in
|
|
(let aide_finale_moins_crds_arrondie_ : money =
|
|
(o_round_mon
|
|
(o_sub_mon_mon
|
|
(o_sub_mon_mon aide_finale_ crds_)
|
|
(money_of_cents_string "50")))
|
|
in
|
|
( if
|
|
(o_gte_mon_mon
|
|
(o_add_mon_mon
|
|
aide_finale_moins_crds_arrondie_ crds_)
|
|
(money_of_cents_string "0")) then
|
|
(o_add_mon_mon
|
|
aide_finale_moins_crds_arrondie_ crds_)
|
|
else (money_of_cents_string "0")))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=648; start_column=10; end_line=648; end_column=40;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let aide_finale_formule_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer"; "aide_finale_formule"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3708; start_column=14;
|
|
end_line=3708; end_column=33;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money =
|
|
(o_mult_mon_rat
|
|
(o_sub_mon_mon equivalence_loyer_eligible_
|
|
equivalence_loyer_minimale_)
|
|
coefficient_prise_en_charge_d832_25_seuil_)
|
|
in
|
|
( if
|
|
(o_lt_mon_mon aide_finale_ (money_of_cents_string
|
|
"0")) then (money_of_cents_string "0") else
|
|
aide_finale_))))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=643; start_column=12; end_line=643; end_column=31;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_montant_minimal_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_montant_minimal"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3804; start_column=14;
|
|
end_line=3804; end_column=36;
|
|
law_headings=["Article D832-24";
|
|
"Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_contributions_sociales_arrondi";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"]
|
|
traitement_aide_finale_contributions_sociales_arrondi_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale_contributions_sociales_arrondi";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
( if
|
|
(o_lt_mon_mon aide_finale_
|
|
montant_minimal_aide_d823_24_) then
|
|
(money_of_cents_string "0") else aide_finale_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=649; start_column=10; end_line=649; end_column=25;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=657; start_column=13;
|
|
end_line=657; end_column=42;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}))) then
|
|
() else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=657; start_column=13;
|
|
end_line=657; end_column=42;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}) in
|
|
{CalculAidePersonnaliseeLogementFoyer.coefficient_multiplicateur_d832_25 =
|
|
coefficient_multiplicateur_d832_25_;
|
|
CalculAidePersonnaliseeLogementFoyer.coefficient_r_d832_25 =
|
|
coefficient_r_d832_25_;
|
|
CalculAidePersonnaliseeLogementFoyer.n_nombre_parts_d832_25 =
|
|
n_nombre_parts_d832_25_;
|
|
CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_eligible =
|
|
equivalence_loyer_eligible_;
|
|
CalculAidePersonnaliseeLogementFoyer.plafond_equivalence_loyer_eligible =
|
|
plafond_equivalence_loyer_eligible_;
|
|
CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_minimale =
|
|
equivalence_loyer_minimale_;
|
|
CalculAidePersonnaliseeLogementFoyer.coefficient_prise_en_charge_d832_25 =
|
|
coefficient_prise_en_charge_d832_25_seuil_;
|
|
CalculAidePersonnaliseeLogementFoyer.aide_finale_formule =
|
|
aide_finale_formule_;
|
|
CalculAidePersonnaliseeLogementFoyer.traitement_aide_finale =
|
|
traitement_aide_finale_montant_minimal_}
|
|
|
|
let calcul_aide_personnalisee_logement_accession_propriete (calcul_aide_personnalisee_logement_accession_propriete_in: CalculAidePersonnaliseeLogementAccessionProprieteIn.t) : CalculAidePersonnaliseeLogementAccessionPropriete.t =
|
|
let mensualite_principale_: money = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.mensualite_principale_in in
|
|
let ressources_menage_arrondies_: money = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.ressources_menage_arrondies_in in
|
|
let nombre_personnes_a_charge_: integer = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.nombre_personnes_a_charge_in in
|
|
let situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.situation_familiale_calcul_apl_in in
|
|
let type_travaux_logement_: TypeTravauxLogementD83215.t = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.type_travaux_logement_in in
|
|
let date_signature_pret_: date = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.date_signature_pret_in in
|
|
let local_habite_premiere_fois_beneficiaire_: bool = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.local_habite_premiere_fois_beneficiaire_in in
|
|
let date_entree_logement_: date = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.date_entree_logement_in in
|
|
let copropriete_: bool = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.copropriete_in in
|
|
let situation_r822_11_13_17_: bool = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.situation_r822_11_13_17_in in
|
|
let zone_: ZoneDHabitation.t = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.zone_in in
|
|
let type_pret_: TypePret.t = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.type_pret_in in
|
|
let anciennete_logement_: NeufOuAncien.t = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.anciennete_logement_in in
|
|
let date_courante_: date = calcul_aide_personnalisee_logement_accession_propriete_in.CalculAidePersonnaliseeLogementAccessionProprieteIn.date_courante_in in
|
|
let taux_francs_vers_euros_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"taux_francs_vers_euros"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=327; start_column=14;
|
|
end_line=327; end_column=36;
|
|
law_headings=["Article premier";
|
|
"Règlement (CE) n°2866/98 du conseil du 31 décembre 1998 concernant les taux de conversion entre l'euro et les monnaies des États membres adoptant l'euro"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat (decimal_of_string "1.")
|
|
(decimal_of_string "6.55957")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=713; start_column=11; end_line=713; end_column=33;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_nombre_parts_dot_nombre_personnes_a_charge_: integer =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_nombre_parts.nombre_personnes_à_charge"] (embed_integer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3253; start_column=14;
|
|
end_line=3253; end_column=59;
|
|
law_headings=["Article D832-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3253; start_column=14; end_line=3253; end_column=59;
|
|
law_headings=["Article D832-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_nombre_parts_dot_situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_nombre_parts.situation_familiale_calcul_apl"]
|
|
(embed_situation_familiale_calcul_a_p_l)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3255; start_column=14;
|
|
end_line=3255; end_column=64;
|
|
law_headings=["Article D832-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> situation_familiale_calcul_apl_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3255; start_column=14; end_line=3255; end_column=64;
|
|
law_headings=["Article D832-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let result_: CalculNombrePartsAccessionPropriete.t = (log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_nombre_parts"; "CalculNombrePartsAccessionPropriété"]
|
|
((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_nombre_parts"; "CalculNombrePartsAccessionPropriété"]
|
|
calcul_nombre_parts_accession_propriete)
|
|
({CalculNombrePartsAccessionProprieteIn.nombre_personnes_a_charge_in =
|
|
calcul_nombre_parts_dot_nombre_personnes_a_charge_;
|
|
CalculNombrePartsAccessionProprieteIn.situation_familiale_calcul_apl_in =
|
|
calcul_nombre_parts_dot_situation_familiale_calcul_apl_}))) in
|
|
let calcul_nombre_parts_dot_n_nombre_parts_d832_11_: decimal = result_.CalculNombrePartsAccessionPropriete.n_nombre_parts_d832_11 in
|
|
let contributions_sociales_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"contributions_sociales.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=730; start_column=14;
|
|
end_line=730; end_column=50;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=730; start_column=14; end_line=730; end_column=50;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let result_: ContributionsSocialesAidesPersonnelleLogement.t = (log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"contributions_sociales";
|
|
"ContributionsSocialesAidesPersonnelleLogement"] ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"contributions_sociales";
|
|
"ContributionsSocialesAidesPersonnelleLogement"]
|
|
contributions_sociales_aides_personnelle_logement)
|
|
({ContributionsSocialesAidesPersonnelleLogementIn.date_courante_in =
|
|
contributions_sociales_dot_date_courante_}))) in
|
|
let contributions_sociales_dot_montant_: money -> money = result_.ContributionsSocialesAidesPersonnelleLogement.montant in
|
|
let taux_tranche_superieure_d832_15_1_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"taux_tranche_supérieure_d832_15_1"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2410; start_column=14;
|
|
end_line=2410; end_column=47;
|
|
law_headings=["Article 23";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> decimal_of_string "0.416"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=712; start_column=11; end_line=712; end_column=44;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let taux_tranche_inferieure_d832_15_1_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"taux_tranche_inférieure_d832_15_1"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2409; start_column=14;
|
|
end_line=2409; end_column=47;
|
|
law_headings=["Article 23";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> decimal_of_string "0.208"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=711; start_column=11; end_line=711; end_column=44;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_limite_tranches_d832_15_1_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"montant_limite_tranches_d832_15_1"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2408; start_column=14;
|
|
end_line=2408; end_column=47;
|
|
law_headings=["Article 23";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "560085"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=710; start_column=11; end_line=710; end_column=44;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_multiplicateur_d832_18_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"coefficient_multiplicateur_d832_18"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2488; start_column=14;
|
|
end_line=2488; end_column=48;
|
|
law_headings=["Article 26";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> decimal_of_string "16.25"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=709; start_column=11; end_line=709; end_column=45;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_multiplicateur_d832_11_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"coefficient_multiplicateur_d832_11"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2392; start_column=14;
|
|
end_line=2392; end_column=48;
|
|
law_headings=["Article 22";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "2211133"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=708; start_column=11; end_line=708; end_column=45;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_multiplicateur_d832_17_3_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"coefficient_multiplicateur_d832_17_3"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2469; start_column=14;
|
|
end_line=2469; end_column=50;
|
|
law_headings=["Article 25";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) ->
|
|
match anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
( if
|
|
(o_lte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1998) (10) (1))) then
|
|
(decimal_of_string "0.0226") else
|
|
(decimal_of_string "0.0234"))
|
|
| NeufOuAncien.Ancien ameliore_par_occupant_ ->
|
|
(match ameliore_par_occupant_
|
|
with
|
|
| AmelioreParOccupant.Oui _ ->
|
|
(decimal_of_string "0.0172")
|
|
| AmelioreParOccupant.Non _ ->
|
|
( if
|
|
(o_lte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1998) (10) (1)))
|
|
then (decimal_of_string "0.0226") else
|
|
(decimal_of_string "0.0234")))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=707; start_column=11; end_line=707; end_column=47;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_minimal_aide_d832_10_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"montant_minimal_aide_d832_10"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2382; start_column=14;
|
|
end_line=2382; end_column=42;
|
|
law_headings=["Article 21";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "1000"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=706; start_column=11; end_line=706; end_column=39;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_forfaitaire_d832_10_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"montant_forfaitaire_d832_10"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2370; start_column=14;
|
|
end_line=2370; end_column=41;
|
|
law_headings=["Article 20";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "500"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=705; start_column=11; end_line=705; end_column=38;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_forfaitaire_charges_d832_10_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"montant_forfaitaire_charges_d832_10"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2441; start_column=7;
|
|
end_line=2441; end_column=18;
|
|
law_headings=["Article 24";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
copropriete_)))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "2805")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "5612"))
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"1272")
|
|
(o_torat_int nombre_personnes_a_charge_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1414; start_column=7;
|
|
end_line=1414; end_column=18;
|
|
law_headings=["Article 24";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
copropriete_)))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "2710")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "5422"))
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"1229")
|
|
(o_torat_int nombre_personnes_a_charge_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2494; start_column=7;
|
|
end_line=2494; end_column=18;
|
|
law_headings=["Article 24";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
copropriete_)))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "2699")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "5399"))
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"1224")
|
|
(o_torat_int nombre_personnes_a_charge_))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2358; start_column=29;
|
|
end_line=2358; end_column=64;
|
|
law_headings=["Article 19";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon (money_of_cents_string "5612")
|
|
(o_mult_mon_rat (money_of_cents_string "1272")
|
|
(o_torat_int nombre_personnes_a_charge_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1380; start_column=29;
|
|
end_line=1380; end_column=64;
|
|
law_headings=["Article 19";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon (money_of_cents_string "5422")
|
|
(o_mult_mon_rat (money_of_cents_string "1229")
|
|
(o_torat_int nombre_personnes_a_charge_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2460; start_column=29;
|
|
end_line=2460; end_column=64;
|
|
law_headings=["Article 19";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon (money_of_cents_string "5399")
|
|
(o_mult_mon_rat (money_of_cents_string "1224")
|
|
(o_torat_int nombre_personnes_a_charge_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=704; start_column=11; end_line=704; end_column=46;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_plafond_mensualite_d832_10_3_: date -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3"] (unembeddable)
|
|
(fun (date_signature_pret_: date) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=830; start_column=5;
|
|
end_line=845; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (1992) (6) (30)))
|
|
(o_and
|
|
(o_lte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (1994) (11) (27)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien ameliore_par_occupant_ ->
|
|
(match
|
|
ameliore_par_occupant_
|
|
with
|
|
| AmelioreParOccupant.Oui _ ->
|
|
true
|
|
| AmelioreParOccupant.Non _ ->
|
|
false))
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"86900")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"97100")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"107300")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"10200")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
taux_francs_vers_euros_))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1086; start_column=5;
|
|
end_line=1090; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (1992) (6) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (1994) (11) (27)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"208500")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"251500")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"294500")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"43000")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"186000")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"223900")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"261800")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"37900")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"173600")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"208200")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"242800")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"34600")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1119; start_column=5;
|
|
end_line=1123; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (1992) (6) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (1994) (11) (27)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"167800")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"202500")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"237200")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"34700")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"149600")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"180100")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"210600")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"30500")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"139700")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"167600")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"195500")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"27900")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1152; start_column=5;
|
|
end_line=1156; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (1994) (11) (27)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2000) (6) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"198100")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"239000")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"279900")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"40900")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"176800")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"212800")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"248800")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"36000")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"165000")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"197900")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"230800")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"32900")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1185; start_column=5;
|
|
end_line=1189; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (1994) (11) (27)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2000) (6) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"159500")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"192500")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"225500")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"33000")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"142200")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"171200")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"200200")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"29000")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"132800")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"159300")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"185800")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"26500")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1218; start_column=5;
|
|
end_line=1222; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2000) (6) (30)))
|
|
(o_and
|
|
(o_lte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2001) (6) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"200100")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"141400")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"182700")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"41300")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"178600")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"215000")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"251400")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"36400")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"166700")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"199900")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"233100")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"33200")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1251; start_column=5;
|
|
end_line=1255; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2000) (6) (30)))
|
|
(o_and
|
|
(o_lte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2001) (6) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"161100")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"194400")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"227700")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"33300")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"143600")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"172900")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"202200")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"29300")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"134100")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"160900")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"187700")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"26800")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1284; start_column=5;
|
|
end_line=1288; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2001) (7) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2001) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"202500")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"244300")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"286100")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"41800")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"180700")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"217500")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"254300")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"36800")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"168700")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"202300")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"235900")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"33600")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1317; start_column=5;
|
|
end_line=1321; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2002) (1) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2002) (6) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"30871")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"37243")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "43615")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6372")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"27548")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"33148")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "38768")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5610")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"25718")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"30840")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "35962")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5122")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1350; start_column=5;
|
|
end_line=1354; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2001) (7) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2001) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"163000")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"196700")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"230400")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"33700")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"145300")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"175000")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"204700")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"29700")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"135700")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"162800")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"189900")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"27100")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1383; start_column=5;
|
|
end_line=1387; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2002) (1) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2002) (6) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"24849")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"29987")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "35125")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5138")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"22151")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"26679")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "31207")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4528")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"20687")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"24818")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "28949")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4131")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1416; start_column=5;
|
|
end_line=1420; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2002) (6) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2003) (6) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"31241")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"37689")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "44137")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6448")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"27879")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"33556")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "39233")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5677")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"26027")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"31210")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "36393")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5183")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1449; start_column=5;
|
|
end_line=1453; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2002) (6) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2003) (6) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"25147")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"30347")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "35547")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5200")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"22417")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"26999")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "31581")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4582")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"20935")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"25116")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "29297")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4181")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1482; start_column=5;
|
|
end_line=1486; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2003) (6) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2005) (8) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"31616")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"38141")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "44666")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6525")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"28214")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"33959")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "39704")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5745")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"26339")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"31584")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "36829")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5245")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1515; start_column=5;
|
|
end_line=1519; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2003) (6) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2005) (8) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"25449")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"30711")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "35973")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5262")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"22686")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"27323")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "31960")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4637")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"21186")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"25417")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "29648")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4231")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1548; start_column=5;
|
|
end_line=1552; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2005) (8) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2006) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"32185")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"38827")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "45469")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6642")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"28722")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"34570")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "40418")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5848")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"26813")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"32152")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "37491")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5339")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1581; start_column=5;
|
|
end_line=1585; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2005) (8) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2006) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"25907")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"31264")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "36621")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5357")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"23094")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"27814")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "32534")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4720")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"21567")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"25874")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "30181")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4307")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1614; start_column=5;
|
|
end_line=1618; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2006) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2007) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"33086")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"39914")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "46742")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6828")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"29526")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"35538")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "41550")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6012")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"27564")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"33052")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "38541")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5488")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1647; start_column=5;
|
|
end_line=1651; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2006) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2007) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"26632")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"32139")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "37646")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5507")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"23741")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"28593")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "33445")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4852")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"22171")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"36598")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "31026")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4428")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1680; start_column=5;
|
|
end_line=1684; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2007) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2008) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"33999")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"41016")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "48032")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"7016")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"30341")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"36519")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "42697")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6178")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"28325")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"33964")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "39605")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5639")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1713; start_column=5;
|
|
end_line=1717; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2007) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2008) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"27367")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"33026")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "38685")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5659")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"24396")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"29382")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "34368")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4986")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"22783")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"27332")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "31882")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4550")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1746; start_column=5;
|
|
end_line=1750; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2008) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2009) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"35002")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"42226")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "49449")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"7223")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"31236")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"37596")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "43957")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6360")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"29161")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"34966")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "40773")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5805")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1779; start_column=5;
|
|
end_line=1783; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2008) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2009) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"28174")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"34000")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "39826")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5826")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"25116")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"30249")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "35382")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5133")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"23455")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"28138")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "32823")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4684")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1812; start_column=5;
|
|
end_line=1816; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2009) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2010) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"35114")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"42361")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "49607")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"7246")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"31336")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"37716")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "44098")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6380")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"29254")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"35078")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "40903")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5824")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1845; start_column=5;
|
|
end_line=1849; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2009) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2010) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"28264")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"34109")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "39953")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5845")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"25196")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"30346")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "35495")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5149")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"23530")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"28228")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "32928")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4699")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1878; start_column=5;
|
|
end_line=1882; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2010) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2011) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"35500")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"42827")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "50153")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"7326")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"31681")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"38131")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "44583")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6450")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"29576")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"35464")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "41353")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5888")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1911; start_column=5;
|
|
end_line=1915; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2010) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2011) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"28575")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"34484")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "40392")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5909")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"25473")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"30680")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "35885")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5206")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"23789")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"28539")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "33290")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4751")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1944; start_column=5;
|
|
end_line=1948; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2011) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2012) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"35855")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"43255")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "50655")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"7399")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"31998")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"38512")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "45029")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6515")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"29872")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"35819")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "41767")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5947")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=1977; start_column=5;
|
|
end_line=1981; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2011) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2012) (12) (31)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"28861")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"34829")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "40796")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5968")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"25728")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"30987")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "36244")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5258")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"24027")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"28824")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "33623")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4799")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2010; start_column=5;
|
|
end_line=2014; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2012) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2014) (9) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"36626")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"44185")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "51744")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"7558")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"32686")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"39340")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "45997")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6655")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"30514")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"36589")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "42665")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6075")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2043; start_column=5;
|
|
end_line=2047; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2012) (12) (31)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2014) (9) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"29482")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"35578")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "41673")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6096")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"26281")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"31653")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "37023")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5371")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"24544")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"29444")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "34346")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4902")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2076; start_column=5;
|
|
end_line=2080; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2014) (9) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2015) (9) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"36835")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"44437")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "52039")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"7601")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"32872")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"39564")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "46259")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6693")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"30688")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"36798")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "42908")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6110")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2109; start_column=5;
|
|
end_line=2113; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2014) (9) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2015) (9) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"29650")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"35781")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "41911")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6131")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"26431")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"31833")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "37234")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5402")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"24684")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"29612")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "34542")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4930")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2142; start_column=5;
|
|
end_line=2146; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2015) (9) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2017) (9) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"36864")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"44473")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "52081")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"7607")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"32898")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"39596")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "46296")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6698")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"30713")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"36827")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "42942")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6115")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2175; start_column=5;
|
|
end_line=2179; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2015) (9) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2017) (9) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"29674")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"35810")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "41945")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6136")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"26452")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"31858")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "37264")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5406")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"24704")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"29636")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "34570")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4934")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2208; start_column=5;
|
|
end_line=2212; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2017) (9) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2019) (9) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"37140")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"44807")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "52472")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"7664")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"33145")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"39893")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "46643")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6748")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"30943")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"37103")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "43264")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6161")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2241; start_column=5;
|
|
end_line=2245; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2017) (9) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2019) (9) (30)))
|
|
(o_and
|
|
(match
|
|
anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false))))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"29897")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"36079")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "42260")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6182")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"26650")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"32097")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "37543")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5447")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"24889")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"29858")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "34829")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4971")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2274; start_column=5;
|
|
end_line=2277; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2019) (9) (30)))
|
|
(o_and
|
|
(match anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ -> false)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"37252")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"44941")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "52629")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"7687")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"33244")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"40013")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "46783")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6768")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"31036")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"37215")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "43394")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6179")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2306; start_column=5;
|
|
end_line=2309; end_column=36;
|
|
law_headings=["Article 18";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (2019) (9) (30)))
|
|
(o_and
|
|
(match anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
true
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ -> false)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"29986")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"36187")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "42386")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"6201")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"26730")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"32193")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "37656")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"5463")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"24964")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"29948")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "34934")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"4986")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=638; start_column=5;
|
|
end_line=641; end_column=33;
|
|
law_headings=["Article 17";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1992) (6) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (1994) (11) (27)))
|
|
(o_and
|
|
(match anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ -> true
|
|
| TypePret.D331_63_64 _ ->
|
|
false
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ -> false)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"208500")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"251500")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"294500")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"43000")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"186000")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"223900")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"261800")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"37900")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"173600")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"208200")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"242800")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"35600")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=683; start_column=5;
|
|
end_line=686; end_column=33;
|
|
law_headings=["Article 17";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1992) (6) (30)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
date_signature_pret_
|
|
(date_of_numbers (1994) (11) (27)))
|
|
(o_and
|
|
(match anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ -> true
|
|
| TypePret.D331_63_64 _ ->
|
|
false
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ -> false)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"167800")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"202500")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"237200")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"34700")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"149600")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"180100")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"210600")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"30500")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"139700")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"167600")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"195500")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"27900")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=729; start_column=5;
|
|
end_line=731; end_column=33;
|
|
law_headings=["Article 17";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1994) (11) (27)))
|
|
(o_and
|
|
(match anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ -> true
|
|
| NeufOuAncien.Ancien _ ->
|
|
false)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ -> true
|
|
| TypePret.D331_63_64 _ ->
|
|
false
|
|
| TypePret.D331_59_8 _ -> false
|
|
| TypePret.D331_76_1 _ -> false
|
|
| TypePret.Autre _ -> false))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"184000")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"220000")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"260000")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"38000")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"164200")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"197700")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"231200")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"33500")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"153200")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"183700")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"214200")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"30500")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=773; start_column=5;
|
|
end_line=775; end_column=33;
|
|
law_headings=["Article 17";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1994) (11) (27)))
|
|
(o_and
|
|
(match anciennete_logement_
|
|
with
|
|
| NeufOuAncien.Neuf _ -> false
|
|
| NeufOuAncien.Ancien _ -> true)
|
|
(match type_pret_
|
|
with
|
|
| TypePret.D331_32 _ -> true
|
|
| TypePret.D331_63_64 _ ->
|
|
false
|
|
| TypePret.D331_59_8 _ -> false
|
|
| TypePret.D331_76_1 _ -> false
|
|
| TypePret.Autre _ -> false))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"148100")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"178700")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"209300")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"30600")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"132000")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"158900")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"185800")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"26900")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1"))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "0"))
|
|
then
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"123300")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"147900")) else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"172500")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"24600")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"1")))))))
|
|
taux_francs_vers_euros_))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=692; start_column=55;
|
|
end_line=692; end_column=61;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
false)) (fun (_: unit) -> raise EmptyError))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=692; start_column=11; end_line=692; end_column=46;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let n_nombre_parts_d832_11_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"n_nombre_parts_d832_11"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3251; start_column=14;
|
|
end_line=3251; end_column=36;
|
|
law_headings=["Article D832-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calcul_nombre_parts_dot_n_nombre_parts_d832_11_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=694; start_column=11; end_line=694; end_column=33;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let ressources_menage_avec_d832_18_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"ressources_ménage_avec_d832_18"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3567; start_column=5;
|
|
end_line=3567; end_column=28;
|
|
law_headings=["Article D832-18";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
situation_r822_11_13_17_))
|
|
(fun (_: unit) -> ressources_menage_arrondies_))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3559; start_column=14;
|
|
end_line=3559; end_column=44;
|
|
law_headings=["Article D832-18";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_lte_mon_mon ressources_menage_arrondies_
|
|
(o_mult_mon_rat mensualite_principale_
|
|
coefficient_multiplicateur_d832_18_)) then
|
|
(o_mult_mon_rat mensualite_principale_
|
|
coefficient_multiplicateur_d832_18_) else
|
|
ressources_menage_arrondies_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=703; start_column=11; end_line=703; end_column=41;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_minoration_forfaitaire_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_minoration_forfaitaire"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3102; start_column=14;
|
|
end_line=3102; end_column=36;
|
|
law_headings=["Article D832-10";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_mon_mon
|
|
(o_sub_mon_mon aide_finale_
|
|
montant_forfaitaire_d832_10_)
|
|
(money_of_cents_string "0")) then
|
|
(o_sub_mon_mon aide_finale_
|
|
montant_forfaitaire_d832_10_) else
|
|
(money_of_cents_string "0")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=724; start_column=10; end_line=724; end_column=32;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let depense_nette_minimale_d832_10_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"dépense_nette_minimale_d832_10"] (unembeddable)
|
|
(fun (allocation_mensuelle_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3503; start_column=5;
|
|
end_line=3503; end_column=40;
|
|
law_headings=["Article D832-17";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_gte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1999) (6) (30)))))
|
|
(fun (_: unit) ->
|
|
o_sub_mon_mon
|
|
(o_add_mon_mon mensualite_principale_
|
|
montant_forfaitaire_charges_d832_10_)
|
|
allocation_mensuelle_))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3514; start_column=14;
|
|
end_line=3514; end_column=44;
|
|
law_headings=["Article D832-17";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_sub_mon_mon mensualite_principale_
|
|
allocation_mensuelle_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=699; start_column=11; end_line=699; end_column=41;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let plafond_mensualite_d832_10_3_base_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"plafond_mensualité_d832_10_3_base"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3338; start_column=5;
|
|
end_line=3338; end_column=44;
|
|
law_headings=["Article D832-14";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
local_habite_premiere_fois_beneficiaire_))
|
|
(fun (_: unit) ->
|
|
(let plafond_signature_ : money =
|
|
((log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3";
|
|
"output"] (embed_money)
|
|
((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3"]
|
|
calcul_plafond_mensualite_d832_10_3_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3";
|
|
"input0"] (embed_date)
|
|
date_signature_pret_)))))))
|
|
in
|
|
(let plafond_entree_ : money =
|
|
((log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3";
|
|
"output"] (embed_money)
|
|
((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3"]
|
|
calcul_plafond_mensualite_d832_10_3_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3";
|
|
"input0"] (embed_date)
|
|
date_entree_logement_)))))))
|
|
in
|
|
( if
|
|
(o_lt_mon_mon plafond_signature_
|
|
plafond_entree_) then plafond_entree_
|
|
else plafond_signature_)))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3318; start_column=14;
|
|
end_line=3318; end_column=42;
|
|
law_headings=["Article D832-14";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> (log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3"]
|
|
calcul_plafond_mensualite_d832_10_3_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d832_10_3"; "input0"]
|
|
(embed_date) date_signature_pret_))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=690; start_column=10; end_line=690; end_column=14;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_equivalence_loyer_minimale_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=731; start_column=14;
|
|
end_line=731; end_column=61;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=731; start_column=14; end_line=731; end_column=61;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_ressources_menage_arrondies_: money =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale.ressources_ménage_arrondies"]
|
|
(embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3459; start_column=14;
|
|
end_line=3459; end_column=75;
|
|
law_headings=["Article D832-15";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_arrondies_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3459; start_column=14; end_line=3459; end_column=75;
|
|
law_headings=["Article D832-15";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_condition_2_du_832_25_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale.condition_2_du_832_25"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3458; start_column=14;
|
|
end_line=3458; end_column=69;
|
|
law_headings=["Article D832-15";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3458; start_column=14; end_line=3458; end_column=69;
|
|
law_headings=["Article D832-15";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_n_nombre_parts_d832_25_: decimal =
|
|
try ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale.n_nombre_parts_d832_25"]
|
|
(embed_decimal)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3461; start_column=14;
|
|
end_line=3461; end_column=70;
|
|
law_headings=["Article D832-15";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> n_nombre_parts_d832_11_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3461; start_column=14; end_line=3461; end_column=70;
|
|
law_headings=["Article D832-15";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let result_: CalculEquivalenceLoyerMinimale.t = (log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale";
|
|
"CalculÉquivalenceLoyerMinimale"] ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale";
|
|
"CalculÉquivalenceLoyerMinimale"] calcul_equivalence_loyer_minimale)
|
|
({CalculEquivalenceLoyerMinimaleIn.date_courante_in =
|
|
calcul_equivalence_loyer_minimale_dot_date_courante_;
|
|
CalculEquivalenceLoyerMinimaleIn.ressources_menage_arrondies_in =
|
|
calcul_equivalence_loyer_minimale_dot_ressources_menage_arrondies_;
|
|
CalculEquivalenceLoyerMinimaleIn.condition_2_du_832_25_in =
|
|
calcul_equivalence_loyer_minimale_dot_condition_2_du_832_25_;
|
|
CalculEquivalenceLoyerMinimaleIn.n_nombre_parts_d832_25_in =
|
|
calcul_equivalence_loyer_minimale_dot_n_nombre_parts_d832_25_}))) in
|
|
let calcul_equivalence_loyer_minimale_dot_montant_: money = result_.CalculEquivalenceLoyerMinimale.montant in
|
|
let coefficient_prise_en_charge_d832_10_formule_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"coefficient_prise_en_charge_d832_10_formule"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3166; start_column=14;
|
|
end_line=3166; end_column=49;
|
|
law_headings=["Article D832-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_sub_rat_rat (decimal_of_string "0.95")
|
|
(o_div_mon_mon ressources_menage_arrondies_
|
|
(o_mult_mon_rat
|
|
coefficient_multiplicateur_d832_11_
|
|
n_nombre_parts_d832_11_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=696; start_column=10; end_line=696; end_column=17;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let abattement_depense_nette_minimale_d832_10_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"abattement_dépense_nette_minimale_d832_10"] (unembeddable)
|
|
(fun (allocation_mensuelle_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3525; start_column=14;
|
|
end_line=3525; end_column=55;
|
|
law_headings=["Article D832-17";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let depense_nette_minimale_ : money =
|
|
((log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"dépense_nette_minimale_d832_10"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"dépense_nette_minimale_d832_10"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"dépense_nette_minimale_d832_10"]
|
|
depense_nette_minimale_d832_10_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"dépense_nette_minimale_d832_10"; "input0"]
|
|
(embed_money) allocation_mensuelle_)))))))
|
|
in
|
|
( if
|
|
(o_lte_mon_mon depense_nette_minimale_
|
|
(o_mult_mon_rat
|
|
ressources_menage_avec_d832_18_
|
|
coefficient_multiplicateur_d832_17_3_))
|
|
then
|
|
(o_sub_mon_mon
|
|
(o_mult_mon_rat
|
|
ressources_menage_avec_d832_18_
|
|
coefficient_multiplicateur_d832_17_3_)
|
|
depense_nette_minimale_) else
|
|
(money_of_cents_string "0")))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=701; start_column=11; end_line=701; end_column=52;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let plafond_mensualite_d832_10_3_coproprietaires_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"plafond_mensualité_d832_10_3_copropriétaires"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2474; start_column=14;
|
|
end_line=2474; end_column=42;
|
|
law_headings=["Article 24";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
if copropriete_ then
|
|
(o_mult_mon_rat
|
|
plafond_mensualite_d832_10_3_base_
|
|
(decimal_of_string "0.75"))
|
|
else
|
|
plafond_mensualite_d832_10_3_base_))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1394; start_column=14;
|
|
end_line=1394; end_column=42;
|
|
law_headings=["Article 24";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
if copropriete_ then
|
|
(o_mult_mon_rat
|
|
plafond_mensualite_d832_10_3_base_
|
|
(decimal_of_string "0.75")) else
|
|
plafond_mensualite_d832_10_3_base_))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2422; start_column=14;
|
|
end_line=2422; end_column=42;
|
|
law_headings=["Article 24";
|
|
"Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
if copropriete_ then
|
|
(o_mult_mon_rat plafond_mensualite_d832_10_3_base_
|
|
(decimal_of_string "0.75")) else
|
|
plafond_mensualite_d832_10_3_base_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=691; start_column=10; end_line=691; end_column=25;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let mensualite_minimale_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"mensualité_minimale"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3398; start_column=5;
|
|
end_line=3410; end_column=77;
|
|
law_headings=["Article D832-15";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_or
|
|
(match type_travaux_logement_
|
|
with
|
|
| TypeTravauxLogementD83215.TravauxPourAcquisitionD832_15_1 _ ->
|
|
true
|
|
| TypeTravauxLogementD83215.TravauxSurLogementDejaAcquisD832_15_2 _ ->
|
|
false
|
|
| TypeTravauxLogementD83215.PasDeTravaux _ ->
|
|
false)
|
|
(match type_travaux_logement_
|
|
with
|
|
| TypeTravauxLogementD83215.TravauxPourAcquisitionD832_15_1 _ ->
|
|
false
|
|
| TypeTravauxLogementD83215.TravauxSurLogementDejaAcquisD832_15_2 _ ->
|
|
false
|
|
| TypeTravauxLogementD83215.PasDeTravaux _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let ressources_menage_arrondies_ : decimal =
|
|
(o_torat_mon ressources_menage_arrondies_)
|
|
in
|
|
(let montant_limite_tranches_d832_15_1_ : decimal =
|
|
(o_torat_mon montant_limite_tranches_d832_15_1_)
|
|
in
|
|
(o_tomoney_rat
|
|
(o_div_rat_rat
|
|
(o_add_rat_rat
|
|
( if
|
|
(o_gte_rat_rat
|
|
ressources_menage_arrondies_
|
|
(o_mult_rat_rat
|
|
montant_limite_tranches_d832_15_1_
|
|
n_nombre_parts_d832_11_)) then
|
|
(o_mult_rat_rat
|
|
(o_sub_rat_rat
|
|
ressources_menage_arrondies_
|
|
(o_mult_rat_rat
|
|
montant_limite_tranches_d832_15_1_
|
|
n_nombre_parts_d832_11_))
|
|
taux_tranche_superieure_d832_15_1_)
|
|
else (decimal_of_string "0."))
|
|
( if
|
|
(o_lte_rat_rat
|
|
ressources_menage_arrondies_
|
|
(o_mult_rat_rat
|
|
montant_limite_tranches_d832_15_1_
|
|
n_nombre_parts_d832_11_)) then
|
|
(o_mult_rat_rat
|
|
ressources_menage_arrondies_
|
|
taux_tranche_inferieure_d832_15_1_)
|
|
else
|
|
(o_mult_rat_rat
|
|
(o_mult_rat_rat
|
|
montant_limite_tranches_d832_15_1_
|
|
n_nombre_parts_d832_11_)
|
|
taux_tranche_inferieure_d832_15_1_)))
|
|
(decimal_of_string "12.")))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3453; start_column=5;
|
|
end_line=3453; end_column=75;
|
|
law_headings=["Article D832-15";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match type_travaux_logement_
|
|
with
|
|
| TypeTravauxLogementD83215.TravauxPourAcquisitionD832_15_1 _ ->
|
|
false
|
|
| TypeTravauxLogementD83215.TravauxSurLogementDejaAcquisD832_15_2 _ ->
|
|
true
|
|
| TypeTravauxLogementD83215.PasDeTravaux _ -> false)))
|
|
(fun (_: unit) ->
|
|
calcul_equivalence_loyer_minimale_dot_montant_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=688; start_column=12; end_line=688; end_column=31;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_prise_en_charge_d832_10_coeff_arrondi_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"coefficient_prise_en_charge_d832_10_coeff_arrondi"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3182; start_column=14;
|
|
end_line=3182; end_column=49;
|
|
law_headings=["Article D832-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat
|
|
(o_round_rat
|
|
(o_mult_rat_rat
|
|
(o_sub_rat_rat
|
|
coefficient_prise_en_charge_d832_10_formule_
|
|
(decimal_of_string "0.005"))
|
|
(decimal_of_string "100.")))
|
|
(decimal_of_string "100.")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=697; start_column=10; end_line=697; end_column=23;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_abattement_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_abattement"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3116; start_column=14;
|
|
end_line=3116; end_column=36;
|
|
law_headings=["Article D832-10";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_minoration_forfaitaire"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_minoration_forfaitaire";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_minoration_forfaitaire"]
|
|
traitement_aide_finale_minoration_forfaitaire_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_minoration_forfaitaire";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
(let aide_finale_ : money =
|
|
(o_sub_mon_mon aide_finale_ ((log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"abattement_dépense_nette_minimale_d832_10"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"abattement_dépense_nette_minimale_d832_10";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"abattement_dépense_nette_minimale_d832_10"]
|
|
abattement_depense_nette_minimale_d832_10_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"abattement_dépense_nette_minimale_d832_10";
|
|
"input0"] (embed_money)
|
|
aide_finale_))))))))
|
|
in
|
|
( if
|
|
(o_gte_mon_mon aide_finale_
|
|
(money_of_cents_string "0")) then
|
|
aide_finale_ else (money_of_cents_string "0"))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=725; start_column=10; end_line=725; end_column=20;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let mensualite_eligible_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"mensualité_éligible"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3077; start_column=14;
|
|
end_line=3077; end_column=33;
|
|
law_headings=["Article D832-10";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gt_mon_mon mensualite_principale_
|
|
plafond_mensualite_d832_10_3_coproprietaires_)
|
|
then plafond_mensualite_d832_10_3_coproprietaires_
|
|
else mensualite_principale_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=687; start_column=12; end_line=687; end_column=31;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_prise_en_charge_d832_10_seuil_: decimal = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"coefficient_prise_en_charge_d832_10_seuil"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3185; start_column=14;
|
|
end_line=3185; end_column=49;
|
|
law_headings=["Article D832-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gte_rat_rat
|
|
coefficient_prise_en_charge_d832_10_coeff_arrondi_
|
|
(decimal_of_string "0.95")) then
|
|
(decimal_of_string "0.95") else
|
|
coefficient_prise_en_charge_d832_10_coeff_arrondi_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=698; start_column=10; end_line=698; end_column=15;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_contributions_sociales_arrondi_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3130; start_column=14;
|
|
end_line=3130; end_column=36;
|
|
law_headings=["Article D832-10";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_abattement"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_abattement";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_abattement"]
|
|
traitement_aide_finale_abattement_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_abattement";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
(let crds_ : money = ((log_end_call
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"] ((log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"; "output"] (embed_money)
|
|
((log_begin_call
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"]
|
|
contributions_sociales_dot_montant_)
|
|
((log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"; "input0"] (embed_money)
|
|
aide_finale_)))))))
|
|
in
|
|
(let aide_finale_moins_crds_arrondie_ : money =
|
|
(o_round_mon
|
|
(o_sub_mon_mon
|
|
(o_sub_mon_mon aide_finale_ crds_)
|
|
(money_of_cents_string "50")))
|
|
in
|
|
( if
|
|
(o_gte_mon_mon
|
|
(o_add_mon_mon
|
|
aide_finale_moins_crds_arrondie_ crds_)
|
|
(money_of_cents_string "0")) then
|
|
(o_add_mon_mon
|
|
aide_finale_moins_crds_arrondie_ crds_)
|
|
else (money_of_cents_string "0")))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=726; start_column=10; end_line=726; end_column=40;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let aide_finale_formule_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"aide_finale_formule"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3057; start_column=14;
|
|
end_line=3057; end_column=33;
|
|
law_headings=["Article D832-10";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money =
|
|
(o_mult_mon_rat
|
|
(o_sub_mon_mon
|
|
(o_add_mon_mon mensualite_eligible_
|
|
montant_forfaitaire_charges_d832_10_)
|
|
mensualite_minimale_)
|
|
coefficient_prise_en_charge_d832_10_seuil_)
|
|
in
|
|
( if
|
|
(o_lt_mon_mon aide_finale_ (money_of_cents_string
|
|
"0")) then (money_of_cents_string "0") else
|
|
aide_finale_))))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=721; start_column=12; end_line=721; end_column=31;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_montant_minimal_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_montant_minimal"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3150; start_column=14;
|
|
end_line=3150; end_column=36;
|
|
law_headings=["Article D832-10";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_contributions_sociales_arrondi";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"]
|
|
traitement_aide_finale_contributions_sociales_arrondi_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale_contributions_sociales_arrondi";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
( if
|
|
(o_lt_mon_mon aide_finale_
|
|
montant_minimal_aide_d832_10_) then
|
|
(money_of_cents_string "0") else aide_finale_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=727; start_column=10; end_line=727; end_column=25;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=735; start_column=13;
|
|
end_line=735; end_column=42;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}))) then
|
|
() else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=735; start_column=13;
|
|
end_line=735; end_column=42;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}) in
|
|
{CalculAidePersonnaliseeLogementAccessionPropriete.mensualite_eligible =
|
|
mensualite_eligible_;
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.mensualite_minimale =
|
|
mensualite_minimale_;
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.coefficient_prise_en_charge_d832_10 =
|
|
coefficient_prise_en_charge_d832_10_seuil_;
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.aide_finale_formule =
|
|
aide_finale_formule_;
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.traitement_aide_finale =
|
|
traitement_aide_finale_montant_minimal_}
|
|
|
|
let eligibilite_prestations_familiales (eligibilite_prestations_familiales_in: EligibilitePrestationsFamilialesIn.t) : EligibilitePrestationsFamiliales.t =
|
|
let date_courante_: date = eligibilite_prestations_familiales_in.EligibilitePrestationsFamilialesIn.date_courante_in in
|
|
let residence_: Collectivite.t = eligibilite_prestations_familiales_in.EligibilitePrestationsFamilialesIn.residence_in in
|
|
let age_l512_3_2_: unit -> duration = eligibilite_prestations_familiales_in.EligibilitePrestationsFamilialesIn.age_l512_3_2_in in
|
|
let age_l512_3_2_: duration = (log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales"; "âge_l512_3_2"] (embed_duration)
|
|
(
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) -> age_l512_3_2_ ())|]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_R.catala_fr";
|
|
start_line=21; start_column=14;
|
|
end_line=21; end_column=26;
|
|
law_headings=["Article R512-2";
|
|
"Chapitre 2 : Champ d'application.";
|
|
"Titre 1 : Champ d'application - Généralités";
|
|
"Livre 5 : Prestations familiales et prestations assimilées";
|
|
"Partie réglementaire - Décrets en Conseil d'Etat";
|
|
"Code de la sécurité sociale"]}
|
|
true))
|
|
(fun (_: unit) -> duration_of_numbers (20) (0) (0)))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=27; start_column=21; end_line=27; end_column=33;
|
|
law_headings=["Prologue : prestations familiales"]})))) in
|
|
let smic_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales"; "smic.date_courante"]
|
|
(embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=38; start_column=14;
|
|
end_line=38; end_column=32;
|
|
law_headings=["Prologue : prestations familiales"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=38; start_column=14; end_line=38; end_column=32;
|
|
law_headings=["Prologue : prestations familiales"]})) in
|
|
let smic_dot_residence_: Collectivite.t =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales"; "smic.résidence"]
|
|
(embed_collectivite)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=37; start_column=14;
|
|
end_line=37; end_column=28;
|
|
law_headings=["Prologue : prestations familiales"]}
|
|
true)) (fun (_: unit) -> residence_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=37; start_column=14; end_line=37; end_column=28;
|
|
law_headings=["Prologue : prestations familiales"]})) in
|
|
let result_: Smic.t = (log_end_call
|
|
["ÉligibilitéPrestationsFamiliales"; "smic"; "Smic"] ((log_begin_call
|
|
["ÉligibilitéPrestationsFamiliales"; "smic"; "Smic"] smic)
|
|
({SmicIn.date_courante_in = smic_dot_date_courante_;
|
|
SmicIn.residence_in = smic_dot_residence_}))) in
|
|
let smic_dot_brut_horaire_: money = result_.Smic.brut_horaire in
|
|
let regime_outre_mer_l751_1_: bool = (log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales"; "régime_outre_mer_l751_1"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_L.catala_fr";
|
|
start_line=127; start_column=5;
|
|
end_line=132; end_column=30;
|
|
law_headings=["Article L751-1";
|
|
"Chapitre 1er : Généralités";
|
|
"Titre 5 : Dispositions particulières à la Guadeloupe, à la Guyane, à la Martinique, à La Réunion, à Saint-Barthélemy et à Saint-Martin";
|
|
"Livre 7 : Régimes divers - Dispositions diverses";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]}
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guadeloupe ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Guyane ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.Martinique ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.LaReunion ()))
|
|
(o_or
|
|
(o_eq residence_
|
|
(Collectivite.SaintBarthelemy
|
|
()))
|
|
(o_eq residence_
|
|
(Collectivite.SaintMartin
|
|
())))))))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=32; start_column=12;
|
|
end_line=32; end_column=35;
|
|
law_headings=["Prologue : prestations familiales"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=32; start_column=12; end_line=32; end_column=35;
|
|
law_headings=["Prologue : prestations familiales"]})))) in
|
|
let plafond_l512_3_2_: money = (log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales"; "plafond_l512_3_2"] (embed_money)
|
|
(
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_R.catala_fr";
|
|
start_line=62; start_column=18;
|
|
end_line=62; end_column=41;
|
|
law_headings=["Article R755-0-2";
|
|
"Chapitre 5 : Prestations familiales et prestations assimilées";
|
|
"Titre 5 : Départements d'outre-mer";
|
|
"Livre 7 : Régimes divers - Dispositions diverses";
|
|
"Partie réglementaire - Décrets en Conseil d'Etat";
|
|
"Code de la sécurité sociale"]}
|
|
regime_outre_mer_l751_1_))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(o_mult_mon_rat smic_dot_brut_horaire_
|
|
(decimal_of_string "0.55"))
|
|
(decimal_of_string "169.")))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_R.catala_fr";
|
|
start_line=31; start_column=14;
|
|
end_line=31; end_column=30;
|
|
law_headings=["Article R512-2";
|
|
"Chapitre 2 : Champ d'application.";
|
|
"Titre 1 : Champ d'application - Généralités";
|
|
"Livre 5 : Prestations familiales et prestations assimilées";
|
|
"Partie réglementaire - Décrets en Conseil d'Etat";
|
|
"Code de la sécurité sociale"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(o_mult_mon_rat smic_dot_brut_horaire_
|
|
(decimal_of_string "0.55"))
|
|
(decimal_of_string "169.")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=25; start_column=11; end_line=25; end_column=27;
|
|
law_headings=["Prologue : prestations familiales"]})))) in
|
|
let conditions_hors_age_: EnfantPrestationsFamiliales.t -> bool = (log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales"; "conditions_hors_âge"]
|
|
(unembeddable)
|
|
(fun (enfant_: EnfantPrestationsFamiliales.t) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_L.catala_fr";
|
|
start_line=78; start_column=5;
|
|
end_line=82; end_column=24;
|
|
law_headings=["Article L512-3";
|
|
"Chapitre 2 : Champ d'application";
|
|
"Titre 1 : Champ d'application - Généralités";
|
|
"Livre 5 : Prestations familiales et prestations assimilées";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]}
|
|
(o_and
|
|
(o_or
|
|
(match
|
|
(enfant_.EnfantPrestationsFamiliales.obligation_scolaire)
|
|
with
|
|
| SituationObligationScolaire.Avant _ ->
|
|
true
|
|
| SituationObligationScolaire.Pendant _ ->
|
|
false
|
|
| SituationObligationScolaire.Apres _ ->
|
|
false)
|
|
(o_or
|
|
(match
|
|
(enfant_.EnfantPrestationsFamiliales.obligation_scolaire)
|
|
with
|
|
| SituationObligationScolaire.Avant _ ->
|
|
false
|
|
| SituationObligationScolaire.Pendant _ ->
|
|
true
|
|
| SituationObligationScolaire.Apres _ ->
|
|
false)
|
|
(match
|
|
(enfant_.EnfantPrestationsFamiliales.obligation_scolaire)
|
|
with
|
|
| SituationObligationScolaire.Avant _ ->
|
|
false
|
|
| SituationObligationScolaire.Pendant _ ->
|
|
false
|
|
| SituationObligationScolaire.Apres _ ->
|
|
true)))
|
|
(o_lte_mon_mon
|
|
(enfant_.EnfantPrestationsFamiliales.remuneration_mensuelle)
|
|
plafond_l512_3_2_))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=30; start_column=12;
|
|
end_line=30; end_column=31;
|
|
law_headings=["Prologue : prestations familiales"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=30; start_column=12; end_line=30; end_column=31;
|
|
law_headings=["Prologue : prestations familiales"]})))) in
|
|
let droit_ouvert_: EnfantPrestationsFamiliales.t -> bool = (log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales"; "droit_ouvert"] (unembeddable)
|
|
(fun (enfant_: EnfantPrestationsFamiliales.t) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_L.catala_fr";
|
|
start_line=67; start_column=5;
|
|
end_line=72; end_column=59;
|
|
law_headings=["Article L512-3";
|
|
"Chapitre 2 : Champ d'application";
|
|
"Titre 1 : Champ d'application - Généralités";
|
|
"Livre 5 : Prestations familiales et prestations assimilées";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]}
|
|
(o_and
|
|
(match
|
|
(enfant_.EnfantPrestationsFamiliales.obligation_scolaire)
|
|
with
|
|
| SituationObligationScolaire.Avant _ ->
|
|
false
|
|
| SituationObligationScolaire.Pendant _ ->
|
|
false
|
|
| SituationObligationScolaire.Apres _ ->
|
|
true)
|
|
(o_and
|
|
(o_lte_mon_mon
|
|
(enfant_.EnfantPrestationsFamiliales.remuneration_mensuelle)
|
|
plafond_l512_3_2_)
|
|
((let result_ :
|
|
VerificationAgeSuperieurA.t
|
|
= ((log_begin_call
|
|
["VérificationÂgeSupérieurÀ";
|
|
"direct"]
|
|
verification_age_superieur_a)
|
|
((log_variable_definition
|
|
["VérificationÂgeSupérieurÀ";
|
|
"direct"; "input"]
|
|
(embed_verification_age_superieur_a_in)
|
|
({VerificationAgeSuperieurAIn.date_naissance_in =
|
|
(
|
|
try
|
|
(enfant_.EnfantPrestationsFamiliales.date_de_naissance)
|
|
with
|
|
EmptyError ->
|
|
(raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_L.catala_fr";
|
|
start_line=70;
|
|
start_column=38;
|
|
end_line=70; end_column=62;
|
|
law_headings=
|
|
["Article L512-3";
|
|
"Chapitre 2 : Champ d'application";
|
|
"Titre 1 : Champ d'application - Généralités";
|
|
"Livre 5 : Prestations familiales et prestations assimilées";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]})));
|
|
VerificationAgeSuperieurAIn.date_courante_in =
|
|
(
|
|
try
|
|
date_courante_
|
|
with
|
|
EmptyError ->
|
|
(raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_L.catala_fr";
|
|
start_line=71;
|
|
start_column=37;
|
|
end_line=71; end_column=50;
|
|
law_headings=
|
|
["Article L512-3";
|
|
"Chapitre 2 : Champ d'application";
|
|
"Titre 1 : Champ d'application - Généralités";
|
|
"Livre 5 : Prestations familiales et prestations assimilées";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]})));
|
|
VerificationAgeSuperieurAIn.annees_in =
|
|
(
|
|
try age_l512_3_2_
|
|
with
|
|
EmptyError ->
|
|
(raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_L.catala_fr";
|
|
start_line=72;
|
|
start_column=30;
|
|
end_line=72; end_column=42;
|
|
law_headings=
|
|
["Article L512-3";
|
|
"Chapitre 2 : Champ d'application";
|
|
"Titre 1 : Champ d'application - Généralités";
|
|
"Livre 5 : Prestations familiales et prestations assimilées";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]})))}))))
|
|
in
|
|
(let result_ :
|
|
VerificationAgeSuperieurA.t
|
|
=
|
|
({VerificationAgeSuperieurA.est_superieur =
|
|
(result_.VerificationAgeSuperieurA.est_superieur)})
|
|
in
|
|
((log_end_call
|
|
["VérificationÂgeSupérieurÀ";
|
|
"direct"]
|
|
((log_variable_definition
|
|
["VérificationÂgeSupérieurÀ";
|
|
"direct"; "output"]
|
|
(embed_verification_age_superieur_a)
|
|
( if
|
|
((log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_L.catala_fr";
|
|
start_line=69;
|
|
start_column=6;
|
|
end_line=72; end_column=44;
|
|
law_headings=
|
|
["Article L512-3";
|
|
"Chapitre 2 : Champ d'application";
|
|
"Titre 1 : Champ d'application - Généralités";
|
|
"Livre 5 : Prestations familiales et prestations assimilées";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]}
|
|
true)) then result_
|
|
else result_))))))).VerificationAgeSuperieurA.est_superieur)))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/sécurité_sociale_L.catala_fr";
|
|
start_line=56; start_column=5;
|
|
end_line=57; end_column=50;
|
|
law_headings=["Article L512-3";
|
|
"Chapitre 2 : Champ d'application";
|
|
"Titre 1 : Champ d'application - Généralités";
|
|
"Livre 5 : Prestations familiales et prestations assimilées";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]}
|
|
(o_or
|
|
(match
|
|
(enfant_.EnfantPrestationsFamiliales.obligation_scolaire)
|
|
with
|
|
| SituationObligationScolaire.Avant _ ->
|
|
true
|
|
| SituationObligationScolaire.Pendant _ ->
|
|
false
|
|
| SituationObligationScolaire.Apres _ ->
|
|
false)
|
|
(match
|
|
(enfant_.EnfantPrestationsFamiliales.obligation_scolaire)
|
|
with
|
|
| SituationObligationScolaire.Avant _ ->
|
|
false
|
|
| SituationObligationScolaire.Pendant _ ->
|
|
true
|
|
| SituationObligationScolaire.Apres _ ->
|
|
false)))) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=28; start_column=12;
|
|
end_line=28; end_column=24;
|
|
law_headings=["Prologue : prestations familiales"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/../prestations_familiales/prologue.catala_fr";
|
|
start_line=28; start_column=12; end_line=28; end_column=24;
|
|
law_headings=["Prologue : prestations familiales"]})))) in
|
|
{EligibilitePrestationsFamiliales.age_l512_3_2 = age_l512_3_2_;
|
|
EligibilitePrestationsFamiliales.droit_ouvert = droit_ouvert_;
|
|
EligibilitePrestationsFamiliales.conditions_hors_age =
|
|
conditions_hors_age_;
|
|
EligibilitePrestationsFamiliales.regime_outre_mer_l751_1 =
|
|
regime_outre_mer_l751_1_}
|
|
|
|
let calcul_allocation_logement_locatif (calcul_allocation_logement_locatif_in: CalculAllocationLogementLocatifIn.t) : CalculAllocationLogementLocatif.t =
|
|
let loyer_principal_: money = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.loyer_principal_in in
|
|
let ressources_menage_arrondies_: money = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.ressources_menage_arrondies_in in
|
|
let beneficiaire_aide_adulte_ou_enfant_handicapes_: bool = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.beneficiaire_aide_adulte_ou_enfant_handicapes_in in
|
|
let date_courante_: date = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.date_courante_in in
|
|
let nombre_personnes_a_charge_: integer = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.nombre_personnes_a_charge_in in
|
|
let situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.situation_familiale_calcul_apl_in in
|
|
let zone_: ZoneDHabitation.t = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.zone_in in
|
|
let logement_est_chambre_: bool = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.logement_est_chambre_in in
|
|
let agees_ou_handicap_adultes_hebergees_onereux_particuliers_: bool = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.agees_ou_handicap_adultes_hebergees_onereux_particuliers_in in
|
|
let type_aide_: TypeAidesPersonnelleLogement.t = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.type_aide_in in
|
|
let colocation_: bool = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.colocation_in in
|
|
let reduction_loyer_solidarite_: money = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.reduction_loyer_solidarite_in in
|
|
let logement_meuble_d842_2_: bool = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.logement_meuble_d842_2_in in
|
|
let residence_: Collectivite.t = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.residence_in in
|
|
let changement_logement_d842_4_: ChangementLogementD8424.t = calcul_allocation_logement_locatif_in.CalculAllocationLogementLocatifIn.changement_logement_d842_4_in in
|
|
let calcul_apl_locatif_dot_loyer_principal_base_: money =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"calcul_apl_locatif.loyer_principal_base"] (embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4179; start_column=14;
|
|
end_line=4179; end_column=48;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> loyer_principal_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4179; start_column=14; end_line=4179; end_column=48;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_ressources_menage_arrondies_: money =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"calcul_apl_locatif.ressources_ménage_arrondies"] (embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4181; start_column=14;
|
|
end_line=4181; end_column=60;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_arrondies_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4181; start_column=14; end_line=4181; end_column=60;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_beneficiaire_aide_adulte_ou_enfant_handicapes_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"calcul_apl_locatif.bénéficiaire_aide_adulte_ou_enfant_handicapés"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4183; start_column=14;
|
|
end_line=4183; end_column=78;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
beneficiaire_aide_adulte_ou_enfant_handicapes_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4183; start_column=14; end_line=4183; end_column=78;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif"; "calcul_apl_locatif.date_courante"]
|
|
(embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4186; start_column=14;
|
|
end_line=4186; end_column=46;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4186; start_column=14; end_line=4186; end_column=46;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_nombre_personnes_a_charge_: integer =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"calcul_apl_locatif.nombre_personnes_à_charge"] (embed_integer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4188; start_column=14;
|
|
end_line=4188; end_column=58;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4188; start_column=14; end_line=4188; end_column=58;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"calcul_apl_locatif.situation_familiale_calcul_apl"]
|
|
(embed_situation_familiale_calcul_a_p_l)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4190; start_column=14;
|
|
end_line=4190; end_column=63;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> situation_familiale_calcul_apl_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4190; start_column=14; end_line=4190; end_column=63;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_zone_: ZoneDHabitation.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif"; "calcul_apl_locatif.zone"]
|
|
(embed_zone_d_habitation)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4192; start_column=14;
|
|
end_line=4192; end_column=37;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> zone_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4192; start_column=14; end_line=4192; end_column=37;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_logement_est_chambre_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"calcul_apl_locatif.logement_est_chambre"] (embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4194; start_column=14;
|
|
end_line=4194; end_column=53;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> logement_est_chambre_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4194; start_column=14; end_line=4194; end_column=53;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_agees_ou_handicap_adultes_hebergees_onereux_particuliers_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"calcul_apl_locatif.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4197; start_column=5;
|
|
end_line=4198; end_column=63;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
agees_ou_handicap_adultes_hebergees_onereux_particuliers_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4197; start_column=5; end_line=4198; end_column=63;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_type_aide_: TypeAidesPersonnelleLogement.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif"; "calcul_apl_locatif.type_aide"]
|
|
(embed_type_aides_personnelle_logement)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4201; start_column=14;
|
|
end_line=4201; end_column=42;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> type_aide_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4201; start_column=14; end_line=4201; end_column=42;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_colocation_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif"; "calcul_apl_locatif.colocation"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4203; start_column=14;
|
|
end_line=4203; end_column=43;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> colocation_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4203; start_column=14; end_line=4203; end_column=43;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_reduction_loyer_solidarite_: money =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"calcul_apl_locatif.réduction_loyer_solidarité"] (embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4205; start_column=14;
|
|
end_line=4205; end_column=59;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> reduction_loyer_solidarite_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4205; start_column=14; end_line=4205; end_column=59;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_logement_meuble_d842_2_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"calcul_apl_locatif.logement_meublé_d842_2"] (embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4207; start_column=14;
|
|
end_line=4207; end_column=55;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> logement_meuble_d842_2_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4207; start_column=14; end_line=4207; end_column=55;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_apl_locatif_dot_residence_: Collectivite.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementLocatif"; "calcul_apl_locatif.résidence"]
|
|
(embed_collectivite)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4209; start_column=14;
|
|
end_line=4209; end_column=42;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> residence_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4209; start_column=14; end_line=4209; end_column=42;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let result_: CalculAidePersonnaliseeLogementLocatif.t = (log_end_call
|
|
["CalculAllocationLogementLocatif"; "calcul_apl_locatif";
|
|
"CalculAidePersonnaliséeLogementLocatif"] ((log_begin_call
|
|
["CalculAllocationLogementLocatif"; "calcul_apl_locatif";
|
|
"CalculAidePersonnaliséeLogementLocatif"]
|
|
calcul_aide_personnalisee_logement_locatif)
|
|
({CalculAidePersonnaliseeLogementLocatifIn.loyer_principal_base_in =
|
|
calcul_apl_locatif_dot_loyer_principal_base_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.ressources_menage_arrondies_in =
|
|
calcul_apl_locatif_dot_ressources_menage_arrondies_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.beneficiaire_aide_adulte_ou_enfant_handicapes_in =
|
|
calcul_apl_locatif_dot_beneficiaire_aide_adulte_ou_enfant_handicapes_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.date_courante_in =
|
|
calcul_apl_locatif_dot_date_courante_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.nombre_personnes_a_charge_in =
|
|
calcul_apl_locatif_dot_nombre_personnes_a_charge_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.situation_familiale_calcul_apl_in =
|
|
calcul_apl_locatif_dot_situation_familiale_calcul_apl_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.zone_in =
|
|
calcul_apl_locatif_dot_zone_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.logement_est_chambre_in =
|
|
calcul_apl_locatif_dot_logement_est_chambre_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.agees_ou_handicap_adultes_hebergees_onereux_particuliers_in =
|
|
calcul_apl_locatif_dot_agees_ou_handicap_adultes_hebergees_onereux_particuliers_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.type_aide_in =
|
|
calcul_apl_locatif_dot_type_aide_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.colocation_in =
|
|
calcul_apl_locatif_dot_colocation_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.reduction_loyer_solidarite_in =
|
|
calcul_apl_locatif_dot_reduction_loyer_solidarite_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.logement_meuble_d842_2_in =
|
|
calcul_apl_locatif_dot_logement_meuble_d842_2_;
|
|
CalculAidePersonnaliseeLogementLocatifIn.residence_in =
|
|
calcul_apl_locatif_dot_residence_}))) in
|
|
let calcul_apl_locatif_dot_montant_forfaitaire_charges_d823_16_: money = result_.CalculAidePersonnaliseeLogementLocatif.montant_forfaitaire_charges_d823_16 in
|
|
let calcul_apl_locatif_dot_plafond_loyer_d823_16_2_: money = result_.CalculAidePersonnaliseeLogementLocatif.plafond_loyer_d823_16_2 in
|
|
let calcul_apl_locatif_dot_participation_minimale_: money = result_.CalculAidePersonnaliseeLogementLocatif.participation_minimale in
|
|
let calcul_apl_locatif_dot_taux_composition_familiale_: decimal = result_.CalculAidePersonnaliseeLogementLocatif.taux_composition_familiale in
|
|
let calcul_apl_locatif_dot_participation_personnelle_: money = result_.CalculAidePersonnaliseeLogementLocatif.participation_personnelle in
|
|
let calcul_apl_locatif_dot_aide_finale_formule_: money = result_.CalculAidePersonnaliseeLogementLocatif.aide_finale_formule in
|
|
let calcul_apl_locatif_dot_traitement_aide_finale_montant_minimal_:
|
|
money -> money = result_.CalculAidePersonnaliseeLogementLocatif.traitement_aide_finale in
|
|
let traitement_aide_finale_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementLocatif"; "traitement_aide_finale"]
|
|
(unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4299; start_column=24;
|
|
end_line=4299; end_column=46;
|
|
law_headings=["Article D842-4";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match changement_logement_d842_4_
|
|
with
|
|
| ChangementLogementD8424.Changement infos_ ->
|
|
(o_gte_mon_mon loyer_principal_
|
|
(infos_.InfosChangementLogementD8424.ancien_loyer_principal))
|
|
| ChangementLogementD8424.PasDeChangement _ ->
|
|
false)))
|
|
(fun (_: unit) -> aide_finale_))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4213; start_column=14;
|
|
end_line=4213; end_column=36;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> (log_end_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_montant_minimal"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_montant_minimal";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_montant_minimal"]
|
|
calcul_apl_locatif_dot_traitement_aide_finale_montant_minimal_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale_montant_minimal";
|
|
"input0"] (embed_money) aide_finale_))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=808; start_column=12; end_line=808; end_column=34;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let aide_finale_formule_: money = (log_variable_definition
|
|
["CalculAllocationLogementLocatif"; "aide_finale_formule"] (embed_money)
|
|
(
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4291; start_column=24;
|
|
end_line=4291; end_column=43;
|
|
law_headings=["Article D842-4";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match changement_logement_d842_4_
|
|
with
|
|
| ChangementLogementD8424.Changement infos_ ->
|
|
(o_gte_mon_mon loyer_principal_
|
|
(infos_.InfosChangementLogementD8424.ancien_loyer_principal))
|
|
| ChangementLogementD8424.PasDeChangement _ ->
|
|
false)))
|
|
(fun (_: unit) ->
|
|
match changement_logement_d842_4_
|
|
with
|
|
| ChangementLogementD8424.Changement infos_ ->
|
|
(o_sub_mon_mon loyer_principal_
|
|
(o_sub_mon_mon
|
|
(infos_.InfosChangementLogementD8424.ancien_loyer_principal)
|
|
(infos_.InfosChangementLogementD8424.ancienne_allocation_logement)))
|
|
| ChangementLogementD8424.PasDeChangement _ ->
|
|
(money_of_cents_string "0")))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4212; start_column=14;
|
|
end_line=4212; end_column=33;
|
|
law_headings=["Article D842-1";
|
|
"Section 1 : Secteur locatif ordinaire";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calcul_apl_locatif_dot_aide_finale_formule_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=806; start_column=12; end_line=806; end_column=31;
|
|
law_headings=["Secteur locatif";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
{CalculAllocationLogementLocatif.aide_finale_formule = aide_finale_formule_;
|
|
CalculAllocationLogementLocatif.traitement_aide_finale =
|
|
traitement_aide_finale_}
|
|
|
|
let calcul_allocation_logement_foyer (calcul_allocation_logement_foyer_in: CalculAllocationLogementFoyerIn.t) : CalculAllocationLogementFoyer.t =
|
|
let type_logement_foyer_: TypeLogementFoyer.t = calcul_allocation_logement_foyer_in.CalculAllocationLogementFoyerIn.type_logement_foyer_in in
|
|
let date_conventionnement_: date = calcul_allocation_logement_foyer_in.CalculAllocationLogementFoyerIn.date_conventionnement_in in
|
|
let residence_: Collectivite.t = calcul_allocation_logement_foyer_in.CalculAllocationLogementFoyerIn.residence_in in
|
|
let redevance_: money = calcul_allocation_logement_foyer_in.CalculAllocationLogementFoyerIn.redevance_in in
|
|
let ressources_menage_arrondies_: money = calcul_allocation_logement_foyer_in.CalculAllocationLogementFoyerIn.ressources_menage_arrondies_in in
|
|
let nombre_personnes_a_charge_: integer = calcul_allocation_logement_foyer_in.CalculAllocationLogementFoyerIn.nombre_personnes_a_charge_in in
|
|
let situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t = calcul_allocation_logement_foyer_in.CalculAllocationLogementFoyerIn.situation_familiale_calcul_apl_in in
|
|
let zone_: ZoneDHabitation.t = calcul_allocation_logement_foyer_in.CalculAllocationLogementFoyerIn.zone_in in
|
|
let date_courante_: date = calcul_allocation_logement_foyer_in.CalculAllocationLogementFoyerIn.date_courante_in in
|
|
let categorie_equivalence_loyer_d842_16_: CategorieEquivalenceLoyerAllocationLogementFoyer.t = calcul_allocation_logement_foyer_in.CalculAllocationLogementFoyerIn.categorie_equivalence_loyer_d842_16_in in
|
|
let calcul_nombre_parts_dot_condition_2_du_832_25_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_nombre_parts.condition_2_du_832_25"] (embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4850; start_column=14;
|
|
end_line=4850; end_column=55;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4850; start_column=14; end_line=4850; end_column=55;
|
|
law_headings=["Article D842-15"; "Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_nombre_parts_dot_nombre_personnes_a_charge_: integer =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_nombre_parts.nombre_personnes_à_charge"] (embed_integer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4846; start_column=14;
|
|
end_line=4846; end_column=59;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4846; start_column=14; end_line=4846; end_column=59;
|
|
law_headings=["Article D842-15"; "Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_nombre_parts_dot_situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_nombre_parts.situation_familiale_calcul_apl"]
|
|
(embed_situation_familiale_calcul_a_p_l)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4848; start_column=14;
|
|
end_line=4848; end_column=64;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> situation_familiale_calcul_apl_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4848; start_column=14; end_line=4848; end_column=64;
|
|
law_headings=["Article D842-15"; "Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_nombre_parts_dot_limitation_majoration_personnes_a_charge_:
|
|
unit -> bool = fun (_: unit) -> (log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_nombre_parts.limitation_majoration_personnes_à_charge"]
|
|
(embed_bool) (raise EmptyError)) in
|
|
let result_: CalculNombrePartLogementFoyer.t = (log_end_call
|
|
["CalculAllocationLogementFoyer"; "calcul_nombre_parts";
|
|
"CalculNombrePartLogementFoyer"] ((log_begin_call
|
|
["CalculAllocationLogementFoyer"; "calcul_nombre_parts";
|
|
"CalculNombrePartLogementFoyer"] calcul_nombre_part_logement_foyer)
|
|
({CalculNombrePartLogementFoyerIn.condition_2_du_832_25_in =
|
|
calcul_nombre_parts_dot_condition_2_du_832_25_;
|
|
CalculNombrePartLogementFoyerIn.nombre_personnes_a_charge_in =
|
|
calcul_nombre_parts_dot_nombre_personnes_a_charge_;
|
|
CalculNombrePartLogementFoyerIn.situation_familiale_calcul_apl_in =
|
|
calcul_nombre_parts_dot_situation_familiale_calcul_apl_;
|
|
CalculNombrePartLogementFoyerIn.limitation_majoration_personnes_a_charge_in =
|
|
calcul_nombre_parts_dot_limitation_majoration_personnes_a_charge_}))) in
|
|
let calcul_nombre_parts_dot_n_nombre_parts_d832_25_: decimal = result_.CalculNombrePartLogementFoyer.n_nombre_parts_d832_25 in
|
|
let contributions_sociales_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"contributions_sociales.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=973; start_column=14;
|
|
end_line=973; end_column=50;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=973; start_column=14; end_line=973; end_column=50;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let result_: ContributionsSocialesAidesPersonnelleLogement.t = (log_end_call
|
|
["CalculAllocationLogementFoyer"; "contributions_sociales";
|
|
"ContributionsSocialesAidesPersonnelleLogement"] ((log_begin_call
|
|
["CalculAllocationLogementFoyer"; "contributions_sociales";
|
|
"ContributionsSocialesAidesPersonnelleLogement"]
|
|
contributions_sociales_aides_personnelle_logement)
|
|
({ContributionsSocialesAidesPersonnelleLogementIn.date_courante_in =
|
|
contributions_sociales_dot_date_courante_}))) in
|
|
let contributions_sociales_dot_montant_: money -> money = result_.ContributionsSocialesAidesPersonnelleLogement.montant in
|
|
let calcul_apl_logement_foyer_dot_type_logement_foyer_: TypeLogementFoyer.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_apl_logement_foyer.type_logement_foyer"]
|
|
(embed_type_logement_foyer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=958; start_column=14;
|
|
end_line=958; end_column=59;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> type_logement_foyer_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=958; start_column=14; end_line=958; end_column=59;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_date_conventionnement_: date =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_apl_logement_foyer.date_conventionnement"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=960; start_column=14;
|
|
end_line=960; end_column=61;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_conventionnement_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=960; start_column=14; end_line=960; end_column=61;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_ressources_menage_arrondies_: money =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_apl_logement_foyer.ressources_ménage_arrondies"]
|
|
(embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=964; start_column=14;
|
|
end_line=964; end_column=67;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_arrondies_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=964; start_column=14; end_line=964; end_column=67;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_nombre_personnes_a_charge_: integer =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_apl_logement_foyer.nombre_personnes_à_charge"]
|
|
(embed_integer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=966; start_column=14;
|
|
end_line=966; end_column=65;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=966; start_column=14; end_line=966; end_column=65;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_apl_logement_foyer.situation_familiale_calcul_apl"]
|
|
(embed_situation_familiale_calcul_a_p_l)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=968; start_column=14;
|
|
end_line=968; end_column=70;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> situation_familiale_calcul_apl_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=968; start_column=14; end_line=968; end_column=70;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_zone_: ZoneDHabitation.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "calcul_apl_logement_foyer.zone"]
|
|
(embed_zone_d_habitation)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=970; start_column=14;
|
|
end_line=970; end_column=44;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> zone_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=970; start_column=14; end_line=970; end_column=44;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_apl_logement_foyer.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=971; start_column=14;
|
|
end_line=971; end_column=53;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=971; start_column=14; end_line=971; end_column=53;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_redevance_: money =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_apl_logement_foyer.redevance"] (embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=962; start_column=14;
|
|
end_line=962; end_column=49;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> redevance_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=962; start_column=14; end_line=962; end_column=49;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_condition_2_du_832_25_: unit -> bool =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_apl_logement_foyer.condition_2_du_832_25"] (embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4821; start_column=14;
|
|
end_line=4821; end_column=61;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))) in
|
|
let calcul_apl_logement_foyer_dot_limitation_majoration_personnes_a_charge_:
|
|
unit -> bool = fun (_: unit) -> (log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_apl_logement_foyer.limitation_majoration_personnes_à_charge"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5599; start_column=5;
|
|
end_line=5605; end_column=28;
|
|
law_headings=["Article D861-8";
|
|
"Section 2 : Allocations de logement";
|
|
"Titre VI : Disposition particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> true
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))) in
|
|
let calcul_apl_logement_foyer_dot_n_nombre_parts_d832_25_: unit -> decimal =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_apl_logement_foyer.n_nombre_parts_d832_25"] (embed_decimal)
|
|
(raise EmptyError)) in
|
|
let result_: CalculAidePersonnaliseeLogementFoyer.t = (log_end_call
|
|
["CalculAllocationLogementFoyer"; "calcul_apl_logement_foyer";
|
|
"CalculAidePersonnaliséeLogementFoyer"] ((log_begin_call
|
|
["CalculAllocationLogementFoyer"; "calcul_apl_logement_foyer";
|
|
"CalculAidePersonnaliséeLogementFoyer"]
|
|
calcul_aide_personnalisee_logement_foyer)
|
|
({CalculAidePersonnaliseeLogementFoyerIn.type_logement_foyer_in =
|
|
calcul_apl_logement_foyer_dot_type_logement_foyer_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.date_conventionnement_in =
|
|
calcul_apl_logement_foyer_dot_date_conventionnement_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.ressources_menage_arrondies_in =
|
|
calcul_apl_logement_foyer_dot_ressources_menage_arrondies_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.nombre_personnes_a_charge_in =
|
|
calcul_apl_logement_foyer_dot_nombre_personnes_a_charge_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.situation_familiale_calcul_apl_in =
|
|
calcul_apl_logement_foyer_dot_situation_familiale_calcul_apl_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.zone_in =
|
|
calcul_apl_logement_foyer_dot_zone_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.date_courante_in =
|
|
calcul_apl_logement_foyer_dot_date_courante_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.redevance_in =
|
|
calcul_apl_logement_foyer_dot_redevance_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.condition_2_du_832_25_in =
|
|
calcul_apl_logement_foyer_dot_condition_2_du_832_25_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.limitation_majoration_personnes_a_charge_in =
|
|
calcul_apl_logement_foyer_dot_limitation_majoration_personnes_a_charge_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.n_nombre_parts_d832_25_in =
|
|
calcul_apl_logement_foyer_dot_n_nombre_parts_d832_25_}))) in
|
|
let calcul_apl_logement_foyer_dot_coefficient_multiplicateur_d832_25_: money = result_.CalculAidePersonnaliseeLogementFoyer.coefficient_multiplicateur_d832_25 in
|
|
let calcul_apl_logement_foyer_dot_coefficient_r_d832_25_: money = result_.CalculAidePersonnaliseeLogementFoyer.coefficient_r_d832_25 in
|
|
let calcul_apl_logement_foyer_dot_n_nombre_parts_d832_25_: decimal = result_.CalculAidePersonnaliseeLogementFoyer.n_nombre_parts_d832_25 in
|
|
let calcul_apl_logement_foyer_dot_equivalence_loyer_eligible_: money = result_.CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_eligible in
|
|
let calcul_apl_logement_foyer_dot_plafond_equivalence_loyer_eligible_: money = result_.CalculAidePersonnaliseeLogementFoyer.plafond_equivalence_loyer_eligible in
|
|
let calcul_apl_logement_foyer_dot_equivalence_loyer_minimale_: money = result_.CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_minimale in
|
|
let calcul_apl_logement_foyer_dot_coefficient_prise_en_charge_d832_25_seuil_: decimal = result_.CalculAidePersonnaliseeLogementFoyer.coefficient_prise_en_charge_d832_25 in
|
|
let calcul_apl_logement_foyer_dot_aide_finale_formule_: money = result_.CalculAidePersonnaliseeLogementFoyer.aide_finale_formule in
|
|
let calcul_apl_logement_foyer_dot_traitement_aide_finale_montant_minimal_:
|
|
money -> money = result_.CalculAidePersonnaliseeLogementFoyer.traitement_aide_finale in
|
|
let multiplicateur_majoration_charges_: decimal = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "multiplicateur_majoration_charges"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} (
|
|
[||])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3344;
|
|
start_column=5;
|
|
end_line=3352; end_column=35;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(
|
|
o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(
|
|
o_and
|
|
(match
|
|
residence_
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun
|
|
(_: unit) ->
|
|
decimal_of_string "6."))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2809;
|
|
start_column=5;
|
|
end_line=2817; end_column=35;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(o_and
|
|
(match
|
|
residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "6."))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1738;
|
|
start_column=5;
|
|
end_line=1746; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "6."))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=619; start_column=5;
|
|
end_line=627; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "6."))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=126; start_column=5;
|
|
end_line=134; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))))
|
|
(fun (_: unit) -> decimal_of_string "6."))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1586; start_column=14;
|
|
end_line=1586; end_column=47;
|
|
law_headings=["Article 40";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4170; start_column=14;
|
|
end_line=4170; end_column=47;
|
|
law_headings=["Article 40";
|
|
"Chapitre VII : Calcul des allocations de logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
o_torat_int nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=934; start_column=11; end_line=934; end_column=44;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_minimal_depense_nette_d842_17_: money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"montant_minimal_dépense_nette_d842_17"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4290; start_column=14;
|
|
end_line=4290; end_column=51;
|
|
law_headings=["Article 44";
|
|
"Chapitre VII : Calcul des allocations de logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "1500"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=933; start_column=11; end_line=933; end_column=48;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_forfaitaire_d842_15_: money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "montant_forfaitaire_d842_15"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4186; start_column=14;
|
|
end_line=4186; end_column=41;
|
|
law_headings=["Article 41";
|
|
"Chapitre VII : Calcul des allocations de logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "500"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=932; start_column=11; end_line=932; end_column=38;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_minimal_aide_d842_15_: money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "montant_minimal_aide_d842_15"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4198; start_column=14;
|
|
end_line=4198; end_column=42;
|
|
law_headings=["Article 42";
|
|
"Chapitre VII : Calcul des allocations de logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "1000"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=931; start_column=11; end_line=931; end_column=39;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let equivalence_loyer_: money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "équivalence_loyer"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4216; start_column=6;
|
|
end_line=4216; end_column=79;
|
|
law_headings=["Article 43";
|
|
"Chapitre VII : Calcul des allocations de logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(match categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
true
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "8708")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "13559")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4251; start_column=6;
|
|
end_line=4252; end_column=38;
|
|
law_headings=["Article 43";
|
|
"Chapitre VII : Calcul des allocations de logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(match categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
true
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "21362")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "33196")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4269; start_column=6;
|
|
end_line=4270; end_column=24;
|
|
law_headings=["Article 43";
|
|
"Chapitre VII : Calcul des allocations de logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(match
|
|
categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "17607")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "27365")))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4233; start_column=6;
|
|
end_line=4234; end_column=46;
|
|
law_headings=["Article 43";
|
|
"Chapitre VII : Calcul des allocations de logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(match categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
true
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "17607")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "27365")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1611; start_column=6;
|
|
end_line=1611; end_column=79;
|
|
law_headings=["Article 43";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(match categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
true
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "8414")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "13100")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1648; start_column=6;
|
|
end_line=1649; end_column=38;
|
|
law_headings=["Article 43";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(match categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
true
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "20640")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "32073")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1667; start_column=6;
|
|
end_line=1668; end_column=24;
|
|
law_headings=["Article 43";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(match
|
|
categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "17012")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "26440")))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1629; start_column=6;
|
|
end_line=1630; end_column=46;
|
|
law_headings=["Article 43";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(match categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
true
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "17012")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "26440")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2680; start_column=6;
|
|
end_line=2680; end_column=79;
|
|
law_headings=["Article 43";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(match categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
true
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "8379")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "13045")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2717; start_column=6;
|
|
end_line=2718; end_column=38;
|
|
law_headings=["Article 43";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(match categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
true
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "20554")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31939")));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2736; start_column=6;
|
|
end_line=2737; end_column=24;
|
|
law_headings=["Article 43";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(match
|
|
categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "16941")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "26329")))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2698; start_column=6;
|
|
end_line=2699; end_column=46;
|
|
law_headings=["Article 43";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(match categorie_equivalence_loyer_d842_16_
|
|
with
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUS _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.EtudiantLogeEnChambreCROUSRehabilitee _ ->
|
|
true
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.PersonnesAgeesSelon3DeD842_16 _ ->
|
|
false
|
|
| CategorieEquivalenceLoyerAllocationLogementFoyer.AutresPersonnes _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "16941")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "26329")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=936; start_column=12; end_line=936; end_column=29;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_equivalence_loyer_minimale_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_équivalence_loyer_minimale.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=974; start_column=14;
|
|
end_line=974; end_column=61;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=974; start_column=14; end_line=974; end_column=61;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_ressources_menage_arrondies_: money =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_équivalence_loyer_minimale.ressources_ménage_arrondies"]
|
|
(embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4843; start_column=14;
|
|
end_line=4843; end_column=75;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_arrondies_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4843; start_column=14; end_line=4843; end_column=75;
|
|
law_headings=["Article D842-15"; "Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_condition_2_du_832_25_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_équivalence_loyer_minimale.condition_2_du_832_25"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4842; start_column=14;
|
|
end_line=4842; end_column=69;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4842; start_column=14; end_line=4842; end_column=69;
|
|
law_headings=["Article D842-15"; "Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_n_nombre_parts_d832_25_: decimal =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"calcul_équivalence_loyer_minimale.n_nombre_parts_d832_25"]
|
|
(embed_decimal)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4852; start_column=14;
|
|
end_line=4852; end_column=70;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calcul_nombre_parts_dot_n_nombre_parts_d832_25_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4852; start_column=14; end_line=4852; end_column=70;
|
|
law_headings=["Article D842-15"; "Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let result_: CalculEquivalenceLoyerMinimale.t = (log_end_call
|
|
["CalculAllocationLogementFoyer"; "calcul_équivalence_loyer_minimale";
|
|
"CalculÉquivalenceLoyerMinimale"] ((log_begin_call
|
|
["CalculAllocationLogementFoyer"; "calcul_équivalence_loyer_minimale";
|
|
"CalculÉquivalenceLoyerMinimale"] calcul_equivalence_loyer_minimale)
|
|
({CalculEquivalenceLoyerMinimaleIn.date_courante_in =
|
|
calcul_equivalence_loyer_minimale_dot_date_courante_;
|
|
CalculEquivalenceLoyerMinimaleIn.ressources_menage_arrondies_in =
|
|
calcul_equivalence_loyer_minimale_dot_ressources_menage_arrondies_;
|
|
CalculEquivalenceLoyerMinimaleIn.condition_2_du_832_25_in =
|
|
calcul_equivalence_loyer_minimale_dot_condition_2_du_832_25_;
|
|
CalculEquivalenceLoyerMinimaleIn.n_nombre_parts_d832_25_in =
|
|
calcul_equivalence_loyer_minimale_dot_n_nombre_parts_d832_25_}))) in
|
|
let calcul_equivalence_loyer_minimale_dot_montant_: money = result_.CalculEquivalenceLoyerMinimale.montant in
|
|
let coefficient_prise_en_charge_: decimal = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "coefficient_prise_en_charge"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4824; start_column=14;
|
|
end_line=4824; end_column=41;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calcul_apl_logement_foyer_dot_coefficient_prise_en_charge_d832_25_seuil_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=935; start_column=12; end_line=935; end_column=39;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_forfaitaire_charges_: money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "montant_forfaitaire_charges"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4409; start_column=6;
|
|
end_line=4416; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Chapitre IX : Calcul des allocations de logement en outre-mer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon (money_of_cents_string "3767")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"969")
|
|
multiplicateur_majoration_charges_)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=280; start_column=6;
|
|
end_line=287; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3767")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"969")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3767")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"969") (decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1893; start_column=6;
|
|
end_line=1900; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3640")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3640")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_)
|
|
then limite_ else montant_)))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=776; start_column=6;
|
|
end_line=783; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3640")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"936")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3640")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"936") (decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2965; start_column=6;
|
|
end_line=2972; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3625")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"932")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3625")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"932") (decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3501; start_column=6;
|
|
end_line=3508; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3614")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"929")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon (money_of_cents_string
|
|
"3614")
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"929") (decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_) then
|
|
limite_ else montant_)))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4173; start_column=29;
|
|
end_line=4173; end_column=56;
|
|
law_headings=["Article 40";
|
|
"Chapitre VII : Calcul des allocations de logement en secteur logement-foyer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(money_of_cents_string "5612") else
|
|
(o_add_mon_mon (money_of_cents_string "5612")
|
|
(o_mult_mon_rat (money_of_cents_string "1272")
|
|
multiplicateur_majoration_charges_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1589; start_column=29;
|
|
end_line=1589; end_column=56;
|
|
law_headings=["Article 40";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(money_of_cents_string "5422") else
|
|
(o_add_mon_mon (money_of_cents_string "5422")
|
|
(o_mult_mon_rat (money_of_cents_string "1229")
|
|
multiplicateur_majoration_charges_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2655; start_column=29;
|
|
end_line=2655; end_column=56;
|
|
law_headings=["Article 40";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(money_of_cents_string "5399") else
|
|
(o_add_mon_mon (money_of_cents_string "5399")
|
|
(o_mult_mon_rat (money_of_cents_string "1224")
|
|
(o_torat_int nombre_personnes_a_charge_)))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=937; start_column=12; end_line=937; end_column=39;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_minoration_forfaitaire_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_minoration_forfaitaire"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4862; start_column=14;
|
|
end_line=4862; end_column=36;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_lt_mon_mon
|
|
(o_sub_mon_mon aide_finale_
|
|
montant_forfaitaire_d842_15_)
|
|
(money_of_cents_string "0")) then
|
|
(money_of_cents_string "0") else
|
|
(o_sub_mon_mon aide_finale_
|
|
montant_forfaitaire_d842_15_)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=951; start_column=10; end_line=951; end_column=32;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let loyer_minimal_: money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "loyer_minimal"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4854; start_column=14;
|
|
end_line=4854; end_column=27;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calcul_equivalence_loyer_minimale_dot_montant_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=938; start_column=12; end_line=938; end_column=25;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let depense_nette_minimale_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "dépense_nette_minimale"]
|
|
(unembeddable)
|
|
(fun (allocation_mensuelle_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4974; start_column=14;
|
|
end_line=4974; end_column=36;
|
|
law_headings=["Article D842-17";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_sub_mon_mon
|
|
(o_add_mon_mon equivalence_loyer_
|
|
montant_forfaitaire_charges_)
|
|
allocation_mensuelle_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=927; start_column=11; end_line=927; end_column=33;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let aide_finale_formule_: money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "aide_finale_formule"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4803; start_column=14;
|
|
end_line=4803; end_column=33;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(o_sub_mon_mon
|
|
(o_add_mon_mon equivalence_loyer_
|
|
montant_forfaitaire_charges_) loyer_minimal_)
|
|
coefficient_prise_en_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=948; start_column=12; end_line=948; end_column=31;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let abattement_depense_nette_minimale_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "abattement_dépense_nette_minimale"]
|
|
(unembeddable)
|
|
(fun (allocation_mensuelle_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4983; start_column=14;
|
|
end_line=4983; end_column=47;
|
|
law_headings=["Article D842-17";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_lt_mon_mon ((log_end_call
|
|
["CalculAllocationLogementFoyer";
|
|
"dépense_nette_minimale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"dépense_nette_minimale"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAllocationLogementFoyer";
|
|
"dépense_nette_minimale"]
|
|
depense_nette_minimale_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"dépense_nette_minimale"; "input0"]
|
|
(embed_money) allocation_mensuelle_)))))))
|
|
montant_minimal_depense_nette_d842_17_) then
|
|
(o_sub_mon_mon
|
|
montant_minimal_depense_nette_d842_17_
|
|
((log_end_call
|
|
["CalculAllocationLogementFoyer";
|
|
"dépense_nette_minimale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"dépense_nette_minimale"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAllocationLogementFoyer";
|
|
"dépense_nette_minimale"]
|
|
depense_nette_minimale_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"dépense_nette_minimale"; "input0"]
|
|
(embed_money) allocation_mensuelle_))))))))
|
|
else (money_of_cents_string "0")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=929; start_column=11; end_line=929; end_column=44;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_depense_nette_minimale_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_dépense_nette_minimale"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4876; start_column=14;
|
|
end_line=4876; end_column=36;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_minoration_forfaitaire"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_minoration_forfaitaire";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_minoration_forfaitaire"]
|
|
traitement_aide_finale_minoration_forfaitaire_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_minoration_forfaitaire";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
(let abattement_ : money = ((log_end_call
|
|
["CalculAllocationLogementFoyer";
|
|
"abattement_dépense_nette_minimale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"abattement_dépense_nette_minimale";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAllocationLogementFoyer";
|
|
"abattement_dépense_nette_minimale"]
|
|
abattement_depense_nette_minimale_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"abattement_dépense_nette_minimale";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
( if
|
|
(o_lt_mon_mon
|
|
(o_sub_mon_mon aide_finale_ abattement_)
|
|
(money_of_cents_string "0")) then
|
|
(money_of_cents_string "0") else
|
|
(o_sub_mon_mon aide_finale_ abattement_))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=952; start_column=10; end_line=952; end_column=32;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_redevance_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "traitement_aide_finale_redevance"]
|
|
(unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4894; start_column=14;
|
|
end_line=4894; end_column=36;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_dépense_nette_minimale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_dépense_nette_minimale";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_dépense_nette_minimale"]
|
|
traitement_aide_finale_depense_nette_minimale_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_dépense_nette_minimale";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
( if (o_gt_mon_mon aide_finale_ redevance_) then
|
|
redevance_ else aide_finale_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=953; start_column=10; end_line=953; end_column=19;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_contributions_sociales_arrondi_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4908; start_column=14;
|
|
end_line=4908; end_column=36;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_redevance"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_redevance";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_redevance"]
|
|
traitement_aide_finale_redevance_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_redevance";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
(let crds_ : money = ((log_end_call
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"] ((log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"; "output"] (embed_money)
|
|
((log_begin_call
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"]
|
|
contributions_sociales_dot_montant_)
|
|
((log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"; "input0"] (embed_money)
|
|
aide_finale_)))))))
|
|
in
|
|
(let aide_finale_moins_crds_arrondie_ : money =
|
|
(o_round_mon
|
|
(o_sub_mon_mon
|
|
(o_sub_mon_mon aide_finale_ crds_)
|
|
(money_of_cents_string "50")))
|
|
in
|
|
( if
|
|
(o_gte_mon_mon
|
|
(o_add_mon_mon
|
|
aide_finale_moins_crds_arrondie_ crds_)
|
|
(money_of_cents_string "0")) then
|
|
(o_add_mon_mon
|
|
aide_finale_moins_crds_arrondie_ crds_)
|
|
else (money_of_cents_string "0")))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=954; start_column=10; end_line=954; end_column=40;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_montant_minimal_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_montant_minimal"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4929; start_column=14;
|
|
end_line=4929; end_column=36;
|
|
law_headings=["Article D842-15";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_contributions_sociales_arrondi";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"]
|
|
traitement_aide_finale_contributions_sociales_arrondi_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale_contributions_sociales_arrondi";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
( if
|
|
(o_lt_mon_mon aide_finale_
|
|
montant_minimal_aide_d842_15_) then
|
|
(money_of_cents_string "0") else aide_finale_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=955; start_column=10; end_line=955; end_column=25;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=978; start_column=13;
|
|
end_line=978; end_column=42;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}))) then
|
|
() else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=978; start_column=13;
|
|
end_line=978; end_column=42;
|
|
law_headings=["Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}) in
|
|
{CalculAllocationLogementFoyer.coefficient_prise_en_charge =
|
|
coefficient_prise_en_charge_;
|
|
CalculAllocationLogementFoyer.equivalence_loyer = equivalence_loyer_;
|
|
CalculAllocationLogementFoyer.montant_forfaitaire_charges =
|
|
montant_forfaitaire_charges_;
|
|
CalculAllocationLogementFoyer.loyer_minimal = loyer_minimal_;
|
|
CalculAllocationLogementFoyer.aide_finale_formule = aide_finale_formule_;
|
|
CalculAllocationLogementFoyer.traitement_aide_finale =
|
|
traitement_aide_finale_montant_minimal_}
|
|
|
|
let calcul_allocation_logement_accession_propriete (calcul_allocation_logement_accession_propriete_in: CalculAllocationLogementAccessionProprieteIn.t) : CalculAllocationLogementAccessionPropriete.t =
|
|
let ressources_menage_arrondies_base_: money = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.ressources_menage_arrondies_base_in in
|
|
let nombre_personnes_a_charge_: integer = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.nombre_personnes_a_charge_in in
|
|
let situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.situation_familiale_calcul_apl_in in
|
|
let zone_: ZoneDHabitation.t = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.zone_in in
|
|
let residence_: Collectivite.t = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.residence_in in
|
|
let date_courante_: date = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.date_courante_in in
|
|
let mensualite_principale_: money = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.mensualite_principale_in in
|
|
let situation_r822_11_13_17_: bool = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.situation_r822_11_13_17_in in
|
|
let date_signature_pret_: date = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.date_signature_pret_in in
|
|
let type_travaux_logement_: TypeTravauxLogementR8425.t = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.type_travaux_logement_in in
|
|
let local_habite_premiere_fois_beneficiaire_: bool = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.local_habite_premiere_fois_beneficiaire_in in
|
|
let date_entree_logement_: date = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.date_entree_logement_in in
|
|
let charges_mensuelles_pret_: money = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.charges_mensuelles_pret_in in
|
|
let copropriete_: bool = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.copropriete_in in
|
|
let operations_logement_evolutifs_sociaux_accession_propriete_aidee__etat_: bool = calcul_allocation_logement_accession_propriete_in.CalculAllocationLogementAccessionProprieteIn.operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat_in in
|
|
let taux_francs_vers_euros_: decimal = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"taux_francs_vers_euros"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=330; start_column=14;
|
|
end_line=330; end_column=36;
|
|
law_headings=["Article premier";
|
|
"Règlement (CE) n°2866/98 du conseil du 31 décembre 1998 concernant les taux de conversion entre l'euro et les monnaies des États membres adoptant l'euro"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_div_rat_rat (decimal_of_string "1.")
|
|
(decimal_of_string "6.55957")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=849; start_column=11; end_line=849; end_column=33;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_nombre_parts_dot_nombre_personnes_a_charge_: integer =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_nombre_parts.nombre_personnes_à_charge"] (embed_integer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4457; start_column=14;
|
|
end_line=4457; end_column=59;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4457; start_column=14; end_line=4457; end_column=59;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_nombre_parts_dot_situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_nombre_parts.situation_familiale_calcul_apl"]
|
|
(embed_situation_familiale_calcul_a_p_l)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4459; start_column=14;
|
|
end_line=4459; end_column=64;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> situation_familiale_calcul_apl_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4459; start_column=14; end_line=4459; end_column=64;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let result_: CalculNombrePartsAccessionPropriete.t = (log_end_call
|
|
["CalculAllocationLogementAccessionPropriété"; "calcul_nombre_parts";
|
|
"CalculNombrePartsAccessionPropriété"] ((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété"; "calcul_nombre_parts";
|
|
"CalculNombrePartsAccessionPropriété"]
|
|
calcul_nombre_parts_accession_propriete)
|
|
({CalculNombrePartsAccessionProprieteIn.nombre_personnes_a_charge_in =
|
|
calcul_nombre_parts_dot_nombre_personnes_a_charge_;
|
|
CalculNombrePartsAccessionProprieteIn.situation_familiale_calcul_apl_in =
|
|
calcul_nombre_parts_dot_situation_familiale_calcul_apl_}))) in
|
|
let calcul_nombre_parts_dot_n_nombre_parts_d832_11_: decimal = result_.CalculNombrePartsAccessionPropriete.n_nombre_parts_d832_11 in
|
|
let contributions_sociales_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"contributions_sociales.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=902; start_column=14;
|
|
end_line=902; end_column=50;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=902; start_column=14; end_line=902; end_column=50;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let result_: ContributionsSocialesAidesPersonnelleLogement.t = (log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"contributions_sociales";
|
|
"ContributionsSocialesAidesPersonnelleLogement"] ((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"contributions_sociales";
|
|
"ContributionsSocialesAidesPersonnelleLogement"]
|
|
contributions_sociales_aides_personnelle_logement)
|
|
({ContributionsSocialesAidesPersonnelleLogementIn.date_courante_in =
|
|
contributions_sociales_dot_date_courante_}))) in
|
|
let contributions_sociales_dot_montant_: money -> money = result_.ContributionsSocialesAidesPersonnelleLogement.montant in
|
|
let multiplicateur_majoration_charges_: decimal = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"multiplicateur_majoration_charges"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} (
|
|
[||])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3329;
|
|
start_column=5;
|
|
end_line=3337; end_column=35;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(
|
|
o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(
|
|
o_and
|
|
(match
|
|
residence_
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun
|
|
(_: unit) ->
|
|
decimal_of_string "6."))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2794;
|
|
start_column=5;
|
|
end_line=2802; end_column=35;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(o_and
|
|
(match
|
|
residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "6."))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1723;
|
|
start_column=5;
|
|
end_line=1731; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "6."))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=604; start_column=5;
|
|
end_line=612; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))))
|
|
(fun (_: unit) ->
|
|
decimal_of_string "6."))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=111; start_column=5;
|
|
end_line=119; end_column=35;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ -> true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))))))
|
|
(fun (_: unit) -> decimal_of_string "6."))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1512; start_column=14;
|
|
end_line=1512; end_column=47;
|
|
law_headings=["Article 34";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
o_torat_int nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4035; start_column=14;
|
|
end_line=4035; end_column=47;
|
|
law_headings=["Article 34";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
o_torat_int nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=860; start_column=11; end_line=860; end_column=44;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_d842_12_: decimal = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété"; "coefficient_d842_12"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4136; start_column=14;
|
|
end_line=4136; end_column=33;
|
|
law_headings=["Article 39";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> decimal_of_string "16.25"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=858; start_column=11; end_line=858; end_column=30;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_d842_11_: decimal = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété"; "coefficient_d842_11"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4124; start_column=14;
|
|
end_line=4124; end_column=33;
|
|
law_headings=["Article 38";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> decimal_of_string "0.0234"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=857; start_column=11; end_line=857; end_column=30;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_forfaitaire_d842_12_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"montant_forfaitaire_d842_12"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4144; start_column=14;
|
|
end_line=4144; end_column=41;
|
|
law_headings=["Article 39";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "390000"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=856; start_column=11; end_line=856; end_column=38;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_forfaitaire_d842_11_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"montant_forfaitaire_d842_11"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4116; start_column=14;
|
|
end_line=4116; end_column=41;
|
|
law_headings=["Article 38";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "1500"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=855; start_column=11; end_line=855; end_column=38;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_minimal_aide_d842_6_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"montant_minimal_aide_d842_6"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4061; start_column=14;
|
|
end_line=4061; end_column=41;
|
|
law_headings=["Article 36";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "1000"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=854; start_column=11; end_line=854; end_column=38;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_forfaitaire_d842_6_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"montant_forfaitaire_d842_6"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4050; start_column=14;
|
|
end_line=4050; end_column=40;
|
|
law_headings=["Article 35";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "500"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=846; start_column=11; end_line=846; end_column=37;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_d842_11_3_: bool = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété"; "condition_d842_11_3"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5930;
|
|
start_column=5;
|
|
end_line=5934; end_column=73;
|
|
law_headings=["Article D862-7";
|
|
"Section III : Allocations de logement";
|
|
"Chapitre II : Saint-Barthélemy et Saint-Martin";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ ->
|
|
false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
false)
|
|
operations_logement_evolutifs_sociaux_accession_propriete_aidee__etat_)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5573; start_column=5;
|
|
end_line=5580; end_column=73;
|
|
law_headings=["Article D861-8";
|
|
"Section 2 : Allocations de logement";
|
|
"Titre VI : Disposition particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> true
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
operations_logement_evolutifs_sociaux_accession_propriete_aidee__etat_)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4686; start_column=6;
|
|
end_line=4689; end_column=44;
|
|
law_headings=["Article D842-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(o_or
|
|
(match type_travaux_logement_
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
true)
|
|
(o_or
|
|
(match type_travaux_logement_
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
true
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
false)
|
|
(match type_travaux_logement_
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
true
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
false)))
|
|
(o_gte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1999) (7) (1))))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=859; start_column=11;
|
|
end_line=859; end_column=30;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=859; start_column=11; end_line=859; end_column=30;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_plafond_mensualite_d842_6_base_: date -> integer -> money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base"] (unembeddable)
|
|
(fun (date_calcul_: date) (nombre_personnes_a_charge_: integer) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=2958; start_column=5;
|
|
end_line=2958; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (1992) (7) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (1994) (7) (1)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "158700")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "191300"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "205500")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "211300")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"217100") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"222900") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"228000") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"228000")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"19800")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "139300")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "170600"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "184700")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "191200")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"197700") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"204200") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"218700") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"218700")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"19100")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "130600")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "158400"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "172600")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "179800")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"187000") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"194200") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"208600") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"208600")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"18200")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5"))))))))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3003; start_column=5;
|
|
end_line=3003; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (1994) (7) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (1997) (7) (1)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "160400")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "193400"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "207800")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "213700")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"219600") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"225500") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"230500") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"230500")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"20000")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "140800")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "172500"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "186700")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "193300")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"199900") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"206500") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"221100") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"221100")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"19300")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "132000")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "180100"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "174500")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "181800")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"189100") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"196400") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"210900") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"210900")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"18400")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5"))))))))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3048; start_column=5;
|
|
end_line=3048; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (1997) (7) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (1998) (7) (1)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "163300")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "196900"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "211600")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "217600")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"223600") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"229600") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"234600") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"234600")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"20400")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "143300")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "175600"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "190100")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "196600")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"203500") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"210200") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"225100") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"225100")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"19600")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "134400")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "163000"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "177700")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "185100")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"192500") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"199900") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"214700") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"214700")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"18700")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5"))))))))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3093; start_column=5;
|
|
end_line=3093; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (1998) (7) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (1999) (7) (1)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "167200")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "201600"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "216700")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "222800")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"229000") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"235100") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"240200") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"240200")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"20900")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "146700")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "179800"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "194700")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "201500")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"208400") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"215200") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"230500") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"230500")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"20100")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "137600")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "166900"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "182000")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "189500")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"197100") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"204700") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"219900") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"219900")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"19100")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5"))))))))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3138; start_column=5;
|
|
end_line=3138; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (1999) (7) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2000) (7) (1)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "167400")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "201800"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "216900")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "223000")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"229200") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"235300") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"240400") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"240400")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"20900")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "146800")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "180000"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "194900")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "201700")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"208600") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"215400") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"230700") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"230700")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"20100")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "137700")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "167100"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "182200")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "189700")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"197300") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"204900") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"220100") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"220100")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"19100")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5"))))))))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3186; start_column=5;
|
|
end_line=3186; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2000) (7) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2001) (7) (1)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "169100")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "203800"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "219100")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "225200")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"231500") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"237700") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"242800") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"242800")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"21100")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "148300")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "181800"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "196800")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "203700")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"210700") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"217600") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"233000") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"233000")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"20300")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "139100")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "168800"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "184000")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "191600")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"199300") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"206900") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"222300") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"222300")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"19300")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5"))))))))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3234; start_column=5;
|
|
end_line=3234; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2001) (7) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2002) (1) (1)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "171100")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "206200"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "221700")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "227900")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"234300") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"240600") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"245700") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"245700")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"21400")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "150100")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "184000"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "199200")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "206100")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"213200") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"220200") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"235800") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"235800")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"20500")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "140800")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "170800"))
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "186200")
|
|
else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "193900")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "3"))
|
|
then
|
|
(money_of_cents_string
|
|
"201700") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"209400") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")) then
|
|
(money_of_cents_string
|
|
"225000") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"225000")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"19500")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5"))))))))))))
|
|
taux_francs_vers_euros_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3282; start_column=5;
|
|
end_line=3282; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2002) (1) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2002) (7) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "26084")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31435")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "33798") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "34743") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "35719")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"36679") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"37457") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"37457")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3262")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "22883")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "28051")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "30368") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "31420") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "32502")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"33569") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"35947") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"35947")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3125")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "21465")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "26038")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "28386") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "29560") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "30749")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"31923") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"34301") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"34301")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"2973")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3329; start_column=5;
|
|
end_line=3329; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2002) (7) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2003) (7) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "26397")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31812")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "34204") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "35160") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "36148")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"37119") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"37906") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"37906")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3301")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "23158")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "28388")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "30732") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "31797") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "32892")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"33972") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"36378") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"36378")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3163")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "21723")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "26350")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "28727") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "29915") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "31118")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"32306") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"34713") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"34713")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3009")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3376; start_column=5;
|
|
end_line=3376; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2003) (7) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2005) (9) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "26714")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "32194")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "34614") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "35582") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "36582")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"37564") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"38361") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"38361")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3341")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "23436")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "28729")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "31101") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "32179") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "33287")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"34380") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"36815") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"36815")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3201")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "21984")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "26666")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "29072") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "30274") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "31491")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"32694") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"35130") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"35130")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3045")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3423; start_column=5;
|
|
end_line=3423; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2005) (9) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2007) (1) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "27195")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "32773")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "35237") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "36222") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "37240")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"38240") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"39051") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"39051")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3401")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "23858")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "29246")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "31661") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "32758") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "33886")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"34999") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"37478") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"37478")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3259")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "22380")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "27146")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "29595") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "30819") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "32058")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"33282") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"35762") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"35762")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3100")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3470; start_column=5;
|
|
end_line=3470; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2007) (1) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2008) (1) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "27956")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "33691")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "36224") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "37236") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "38283")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"39311") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"40144") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"40144")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3496")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "24526")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "30065")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "32548") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "33675") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "34865")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"35979") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"38527") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"38527")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3350")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "23007")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "27906")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "30424") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "31682") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "32956")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"34214") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"36733") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"36733")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3187")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3517; start_column=5;
|
|
end_line=3517; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2008) (1) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2009) (1) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "28728")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "34621")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "37224") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "38264") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "39340")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"40396") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"41252") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"41252")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3592")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "25203")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "30895")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "33446") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "34604") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "35796")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"36972") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"39590") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"39590")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3442")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "23642")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "28676")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "31264") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "32556") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "33866")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"35158") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"37778") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"37778")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3275")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3564; start_column=5;
|
|
end_line=3564; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2009) (1) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2010) (1) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "29575")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "35642")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "38322") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "39393") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "40501")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"41588") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"42469") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"42469")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3698")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "25946")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31806")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "34433") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "35625") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "36852")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"38063") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"40758") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"40758")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3544")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "24339")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "29522")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "32186") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "33516") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "34865")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"36195") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"38892") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"38892")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3372")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3611; start_column=5;
|
|
end_line=3611; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2010) (1) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2011) (1) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "29670")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "35757")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "38445") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "39519") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "40601")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"41721") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"42605") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"42605")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3710")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "26029")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31908")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "34643") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "35739") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "36970")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"38185") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"40888") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"40888")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3555")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "24417")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "29616")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "32289") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "33623") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "34977")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"36311") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"39016") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"39016")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3383")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3658; start_column=5;
|
|
end_line=3658; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2011) (1) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2012) (1) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "29996")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "36149")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "38868") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "39954") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "41078")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"42180") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"43074") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"43074")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3751")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "26315")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "32259")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "34923") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "36132") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "37373")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"38605") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"41338") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"41338")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3594")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "24686")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "29942")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "32644") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "33993") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "35362")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"36710") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"39445") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"39445")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3420")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3705; start_column=5;
|
|
end_line=3705; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2012) (1) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2013) (1) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "30296")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "36510")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "39257") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "40354") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "41489")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"42602") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"43505") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"43505")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3789")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "26578")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "32582")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "35272") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "36493") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "37751")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"38991") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"41751") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"41751")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3630")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "24933")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "30241")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "32970") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "34333") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "35716")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"37077") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"39839") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"39839")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3454")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3752; start_column=5;
|
|
end_line=3752; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2013) (1) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2014) (10) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "30947")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "37295")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "40101") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "41222") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "42381")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"43518") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"44440") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"44440")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3870")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "27149")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "33283")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "36030") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "37278") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "38563")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"39829") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"42649") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"42659")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3708")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "25469")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "30891")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "33679") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "35071") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "36484")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"37874") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"40696") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"40696")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3528")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3799; start_column=5;
|
|
end_line=3799; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2014) (10) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2015) (10) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "31123")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "37508")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "40330") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "41457") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "42623")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"43766") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"44693") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"44693")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3892")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "27304")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "33473")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "36235") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "37490") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "38783")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"40056") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"42892") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"42892")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3729")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "25614")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31067")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "33871") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "35271") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "36692")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"38090") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"40928") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"40928")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3548")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3846; start_column=5;
|
|
end_line=3846; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2015) (10) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2017) (10) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "31148")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "37538")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "40362") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "41490") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "42657")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"43801") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"44729") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"44729")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3895")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "27326")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "33500")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "36264") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "37520") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "38814")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"40088") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"42926") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"42926")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3732")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "25634")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31092")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "33898") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "35299") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "36721")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"38120") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"40961") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"40961")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3551")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3893; start_column=5;
|
|
end_line=3893; end_column=62;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2017) (10) (1)))
|
|
(o_lt_dat_dat date_calcul_
|
|
(date_of_numbers (2019) (10) (1)))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "31382")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "37820")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "40665") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "41801") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "42977")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"44130") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"45064") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"45064")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3924")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "27531")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "33751")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "36536") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "37801") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "39105")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"40389") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"43248") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"43248")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3760")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "25826")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31325")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "34152") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "35564") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "36996")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"38406") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"41268") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"41268")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3578")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3940; start_column=5;
|
|
end_line=3940; end_column=32;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_gte_dat_dat date_calcul_
|
|
(date_of_numbers (2019) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
match zone_
|
|
with
|
|
| ZoneDHabitation.Zone1 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "31476")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "37933")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "40787") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "41927") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "43106")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"44262") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"45200") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"45200")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3936")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone2 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "27614")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "33853")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "36646") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "37915") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "39222")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"40510") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"43378") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"43378")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3771")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))
|
|
| ZoneDHabitation.Zone3 _ ->
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "25904")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "31419")) else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "1")) then
|
|
(money_of_cents_string "34255") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "2")) then
|
|
(money_of_cents_string "35670") else
|
|
( if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "3")) then
|
|
(money_of_cents_string "37107")
|
|
else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "4"))
|
|
then
|
|
(money_of_cents_string
|
|
"38521") else
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "5"))
|
|
then
|
|
(money_of_cents_string
|
|
"41392") else
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"41392")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"3588")
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"5")))))))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=843; start_column=10; end_line=843; end_column=14;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_forfaitaire_charges_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"montant_forfaitaire_charges"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4462;
|
|
start_column=5;
|
|
end_line=4470; end_column=16;
|
|
law_headings=["Article 46";
|
|
"Chapitre IX : Calcul des allocations de logement en outre-mer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
copropriete_))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1938")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3767"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"969")
|
|
multiplicateur_majoration_charges_)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=341;
|
|
start_column=6;
|
|
end_line=348; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1938")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3767"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"969")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1938")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3767"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"969")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon montant_
|
|
limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1953;
|
|
start_column=6;
|
|
end_line=1960; end_column=28;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ :
|
|
money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1872")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3640"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money
|
|
=
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1872")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3640"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon
|
|
montant_
|
|
limite_) then
|
|
limite_ else
|
|
montant_)))))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=837;
|
|
start_column=6;
|
|
end_line=844; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1872")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3640"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1872")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3640"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon montant_
|
|
limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3025;
|
|
start_column=6;
|
|
end_line=3032; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1864")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3625"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"932")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1864")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3625"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"932")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon montant_
|
|
limite_) then
|
|
limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3561;
|
|
start_column=6;
|
|
end_line=3568; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1858")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3614"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"929")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(match
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string
|
|
"1858")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string
|
|
"3614"))
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"929")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon montant_
|
|
limite_) then
|
|
limite_ else montant_)))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4395; start_column=6;
|
|
end_line=4402; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Chapitre IX : Calcul des allocations de logement en outre-mer";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon (money_of_cents_string
|
|
"3767")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string "969")
|
|
multiplicateur_majoration_charges_)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=260; start_column=6;
|
|
end_line=267; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3767")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"969")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3767")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"969")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_)
|
|
then limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1873;
|
|
start_column=6;
|
|
end_line=1880; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"3640")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string
|
|
"3640")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if
|
|
(o_gt_mon_mon montant_
|
|
limite_) then
|
|
limite_ else montant_)))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=756; start_column=6;
|
|
end_line=763; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3640")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3640")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"936")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_)
|
|
then limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2945; start_column=6;
|
|
end_line=2952; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3625")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"932")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3625")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"932")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_)
|
|
then limite_ else montant_)))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3481; start_column=6;
|
|
end_line=3488; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true))))
|
|
(fun (_: unit) ->
|
|
(let montant_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3614")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"929")
|
|
(o_torat_int
|
|
nombre_personnes_a_charge_)))
|
|
in
|
|
(let limite_ : money =
|
|
(o_add_mon_mon
|
|
(money_of_cents_string "3614")
|
|
(o_mult_mon_rat
|
|
(money_of_cents_string
|
|
"929")
|
|
(decimal_of_string "6.")))
|
|
in
|
|
( if (o_gt_mon_mon montant_ limite_)
|
|
then limite_ else montant_)))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4094; start_column=57;
|
|
end_line=4094; end_column=68;
|
|
law_headings=["Article 37";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
copropriete_)))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "2805")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "5612"))
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"1272")
|
|
multiplicateur_majoration_charges_)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1553; start_column=5;
|
|
end_line=1553; end_column=16;
|
|
law_headings=["Article 37";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
copropriete_)))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "2710")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "5422"))
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"1229")
|
|
(o_torat_int nombre_personnes_a_charge_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2630; start_column=5;
|
|
end_line=2630; end_column=16;
|
|
law_headings=["Article 37";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
copropriete_)))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(match situation_familiale_calcul_apl_
|
|
with
|
|
| SituationFamilialeCalculAPL.PersonneSeule _ ->
|
|
(money_of_cents_string "2699")
|
|
| SituationFamilialeCalculAPL.Couple _ ->
|
|
(money_of_cents_string "5399"))
|
|
(o_mult_mon_rat (money_of_cents_string
|
|
"1224")
|
|
(o_torat_int nombre_personnes_a_charge_))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4038; start_column=29;
|
|
end_line=4038; end_column=56;
|
|
law_headings=["Article 34";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(money_of_cents_string "5612") else
|
|
(o_add_mon_mon (money_of_cents_string "5612")
|
|
(o_mult_mon_rat (money_of_cents_string "1272")
|
|
multiplicateur_majoration_charges_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1515; start_column=29;
|
|
end_line=1515; end_column=56;
|
|
law_headings=["Article 34";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(money_of_cents_string "5422") else
|
|
(o_add_mon_mon (money_of_cents_string "5422")
|
|
(o_mult_mon_rat (money_of_cents_string "1229")
|
|
multiplicateur_majoration_charges_))));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2589; start_column=29;
|
|
end_line=2589; end_column=56;
|
|
law_headings=["Article 34";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1))))))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_eq nombre_personnes_a_charge_
|
|
(integer_of_string "0")) then
|
|
(money_of_cents_string "5399") else
|
|
(o_add_mon_mon (money_of_cents_string "5399")
|
|
(o_mult_mon_rat (money_of_cents_string "1224")
|
|
(o_torat_int nombre_personnes_a_charge_)))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=836; start_column=11; end_line=836; end_column=38;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let seuil_minimal_ressources_menage_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"seuil_minimal_ressources_ménage"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4715; start_column=6;
|
|
end_line=4721; end_column=6;
|
|
law_headings=["Article D842-12";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_or
|
|
(o_and
|
|
(o_gte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1992) (9) (30)))
|
|
(o_lte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1994) (9) (30))))
|
|
(o_and
|
|
(o_gt_dat_dat date_signature_pret_
|
|
(date_of_numbers (1994) (9) (30)))
|
|
(o_or
|
|
(match type_travaux_logement_
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
true)
|
|
(o_or
|
|
(match type_travaux_logement_
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
true
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
false)
|
|
(match type_travaux_logement_
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
true
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
false)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat mensualite_principale_
|
|
coefficient_d842_12_));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4733; start_column=5;
|
|
end_line=4734; end_column=59;
|
|
law_headings=["Article D842-12";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(o_gt_dat_dat date_signature_pret_
|
|
(date_of_numbers (1994) (9) (30)))
|
|
(match type_travaux_logement_
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
true
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
false))))
|
|
(fun (_: unit) -> montant_forfaitaire_d842_12_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=848; start_column=11; end_line=848; end_column=42;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_minoration_forfaitaire_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_minoration_forfaitaire"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4467; start_column=14;
|
|
end_line=4467; end_column=36;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_lt_mon_mon
|
|
(o_sub_mon_mon aide_finale_
|
|
montant_forfaitaire_d842_6_)
|
|
(money_of_cents_string "0")) then
|
|
(money_of_cents_string "0") else
|
|
(o_sub_mon_mon aide_finale_
|
|
montant_forfaitaire_d842_6_)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=874; start_column=10; end_line=874; end_column=32;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_plafond_mensualite_d842_6_avec_copropriete_: date -> integer ->
|
|
money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété"] (unembeddable)
|
|
(fun (date_calcul_: date) (nombre_personnes_a_charge_: integer) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2609;
|
|
start_column=5;
|
|
end_line=2609; end_column=16;
|
|
law_headings=["Article 37";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
copropriete_)))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"output"]
|
|
(embed_money)
|
|
((calcul_plafond_mensualite_d842_6_base_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"input0"]
|
|
(embed_date)
|
|
date_calcul_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"input1"]
|
|
(embed_integer)
|
|
nombre_personnes_a_charge_)))))))
|
|
(decimal_of_string "0.75")))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1533;
|
|
start_column=5;
|
|
end_line=1533; end_column=16;
|
|
law_headings=["Article 37";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
copropriete_)))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat ((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"output"] (embed_money)
|
|
((calcul_plafond_mensualite_d842_6_base_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"input0"] (embed_date)
|
|
date_calcul_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"input1"] (embed_integer)
|
|
nombre_personnes_a_charge_)))))))
|
|
(decimal_of_string "0.75")))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4076; start_column=5;
|
|
end_line=4076; end_column=16;
|
|
law_headings=["Article 37";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
copropriete_)))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat ((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"output"] (embed_money)
|
|
((calcul_plafond_mensualite_d842_6_base_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"input0"] (embed_date)
|
|
date_calcul_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"input1"] (embed_integer)
|
|
nombre_personnes_a_charge_)))))))
|
|
(decimal_of_string "0.75")))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3984; start_column=14;
|
|
end_line=3984; end_column=46;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))))
|
|
(fun (_: unit) -> (log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"output"] (embed_money)
|
|
((calcul_plafond_mensualite_d842_6_base_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"input0"] (embed_date) date_calcul_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_base";
|
|
"input1"] (embed_integer)
|
|
nombre_personnes_a_charge_))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=844; start_column=10; end_line=844; end_column=26;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let depense_nette_minimale_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"dépense_nette_minimale"] (unembeddable)
|
|
(fun (allocation_mensuelle_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4651; start_column=15;
|
|
end_line=4651; end_column=37;
|
|
law_headings=["Article D842-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_sub_mon_mon
|
|
(o_add_mon_mon charges_mensuelles_pret_
|
|
montant_forfaitaire_charges_)
|
|
allocation_mensuelle_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=850; start_column=11; end_line=850; end_column=33;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let ressources_menage_arrondies_seuil_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"ressources_ménage_arrondies_seuil"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4754; start_column=5;
|
|
end_line=4754; end_column=28;
|
|
law_headings=["Article D842-12";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
situation_r822_11_13_17_))
|
|
(fun (_: unit) ->
|
|
ressources_menage_arrondies_base_))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4744; start_column=14;
|
|
end_line=4744; end_column=41;
|
|
law_headings=["Article D842-12";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_lte_mon_mon ressources_menage_arrondies_base_
|
|
seuil_minimal_ressources_menage_) then
|
|
(o_mult_mon_rat
|
|
(o_round_mon
|
|
(o_mult_mon_rat
|
|
(o_add_mon_mon
|
|
seuil_minimal_ressources_menage_
|
|
(money_of_cents_string "4999"))
|
|
(decimal_of_string "0.01")))
|
|
(decimal_of_string "100.")) else
|
|
ressources_menage_arrondies_base_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=818; start_column=10; end_line=818; end_column=15;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_plafond_mensualite_d842_6_avec_limitation_dom_tom_: date ->
|
|
integer ->
|
|
money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom"]
|
|
(unembeddable)
|
|
(fun (date_calcul_: date) (nombre_personnes_a_charge_: integer) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} (
|
|
[||])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=3408;
|
|
start_column=5;
|
|
end_line=3416; end_column=28;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(
|
|
o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1))))
|
|
(o_and
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))
|
|
(match
|
|
residence_
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true)))))
|
|
(fun
|
|
(_: unit) ->
|
|
(log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"output"]
|
|
(embed_money)
|
|
(
|
|
(calcul_plafond_mensualite_d842_6_avec_copropriete_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input0"]
|
|
(embed_date)
|
|
date_calcul_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input1"]
|
|
(embed_integer)
|
|
(integer_of_string
|
|
"6")))))))))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=2872;
|
|
start_column=5;
|
|
end_line=2880; end_column=28;
|
|
law_headings=
|
|
["Article 46";
|
|
"Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2020) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1))))
|
|
(o_and
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))
|
|
(match
|
|
residence_
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true)))))
|
|
(fun (_: unit) ->
|
|
(log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"output"]
|
|
(embed_money)
|
|
((calcul_plafond_mensualite_d842_6_avec_copropriete_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input0"]
|
|
(embed_date)
|
|
date_calcul_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input1"]
|
|
(embed_integer)
|
|
(integer_of_string
|
|
"6")))))))))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=1802;
|
|
start_column=5;
|
|
end_line=1810; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1))))
|
|
(o_and
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string
|
|
"6"))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)))))
|
|
(fun (_: unit) ->
|
|
(log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"output"] (embed_money)
|
|
((calcul_plafond_mensualite_d842_6_avec_copropriete_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input0"]
|
|
(embed_date)
|
|
date_calcul_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input1"]
|
|
(embed_integer)
|
|
(integer_of_string
|
|
"6")))))))))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=683; start_column=5;
|
|
end_line=691; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (7) (1))))
|
|
(o_and
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)))))
|
|
(fun (_: unit) -> (log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"output"] (embed_money)
|
|
((calcul_plafond_mensualite_d842_6_avec_copropriete_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input0"] (embed_date)
|
|
date_calcul_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input1"] (embed_integer)
|
|
(integer_of_string "6")))))))))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/archives.catala_fr";
|
|
start_line=189; start_column=5;
|
|
end_line=197; end_column=28;
|
|
law_headings=["Article 46";
|
|
"Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A";
|
|
"Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (7) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))
|
|
(o_and
|
|
(o_gte_int_int
|
|
nombre_personnes_a_charge_
|
|
(integer_of_string "6"))
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)))))
|
|
(fun (_: unit) -> (log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"output"] (embed_money)
|
|
((calcul_plafond_mensualite_d842_6_avec_copropriete_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input0"] (embed_date)
|
|
date_calcul_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input1"] (embed_integer)
|
|
(integer_of_string "6")))))))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=3990; start_column=14;
|
|
end_line=3990; end_column=46;
|
|
law_headings=["Article 33";
|
|
"Chapitre IV : Calcul des allocations de logement en secteur accession";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))))
|
|
(fun (_: unit) -> (log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"output"] (embed_money)
|
|
((calcul_plafond_mensualite_d842_6_avec_copropriete_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input0"] (embed_date) date_calcul_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_copropriété";
|
|
"input1"] (embed_integer)
|
|
nombre_personnes_a_charge_))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=845; start_column=10; end_line=845; end_column=33;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calcul_equivalence_loyer_minimale_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=903; start_column=14;
|
|
end_line=903; end_column=61;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=903; start_column=14; end_line=903; end_column=61;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_ressources_menage_arrondies_: money =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale.ressources_ménage_arrondies"]
|
|
(embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4453; start_column=14;
|
|
end_line=4453; end_column=75;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_arrondies_seuil_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4453; start_column=14; end_line=4453; end_column=75;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_condition_2_du_832_25_: bool =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale.condition_2_du_832_25"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4452; start_column=14;
|
|
end_line=4452; end_column=69;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4452; start_column=14; end_line=4452; end_column=69;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_equivalence_loyer_minimale_dot_n_nombre_parts_d832_25_: decimal =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale.n_nombre_parts_d832_25"]
|
|
(embed_decimal)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4455; start_column=14;
|
|
end_line=4455; end_column=70;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calcul_nombre_parts_dot_n_nombre_parts_d832_11_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4455; start_column=14; end_line=4455; end_column=70;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let result_: CalculEquivalenceLoyerMinimale.t = (log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale";
|
|
"CalculÉquivalenceLoyerMinimale"] ((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_équivalence_loyer_minimale";
|
|
"CalculÉquivalenceLoyerMinimale"] calcul_equivalence_loyer_minimale)
|
|
({CalculEquivalenceLoyerMinimaleIn.date_courante_in =
|
|
calcul_equivalence_loyer_minimale_dot_date_courante_;
|
|
CalculEquivalenceLoyerMinimaleIn.ressources_menage_arrondies_in =
|
|
calcul_equivalence_loyer_minimale_dot_ressources_menage_arrondies_;
|
|
CalculEquivalenceLoyerMinimaleIn.condition_2_du_832_25_in =
|
|
calcul_equivalence_loyer_minimale_dot_condition_2_du_832_25_;
|
|
CalculEquivalenceLoyerMinimaleIn.n_nombre_parts_d832_25_in =
|
|
calcul_equivalence_loyer_minimale_dot_n_nombre_parts_d832_25_}))) in
|
|
let calcul_equivalence_loyer_minimale_dot_montant_: money = result_.CalculEquivalenceLoyerMinimale.montant in
|
|
let calcul_apl_logement_foyer_dot_type_logement_foyer_: TypeLogementFoyer.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.type_logement_foyer"]
|
|
(embed_type_logement_foyer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=886; start_column=14;
|
|
end_line=886; end_column=59;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> TypeLogementFoyer.Autre ()))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=886; start_column=14; end_line=886; end_column=59;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_date_conventionnement_: date =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.date_conventionnement"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=888; start_column=14;
|
|
end_line=888; end_column=61;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> date_of_numbers (1970) (1) (1)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=888; start_column=14; end_line=888; end_column=61;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_ressources_menage_arrondies_: money =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.ressources_ménage_arrondies"]
|
|
(embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=892; start_column=14;
|
|
end_line=892; end_column=67;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_arrondies_seuil_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=892; start_column=14; end_line=892; end_column=67;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_nombre_personnes_a_charge_: integer =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.nombre_personnes_à_charge"]
|
|
(embed_integer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=894; start_column=14;
|
|
end_line=894; end_column=65;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> nombre_personnes_a_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=894; start_column=14; end_line=894; end_column=65;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.situation_familiale_calcul_apl"]
|
|
(embed_situation_familiale_calcul_a_p_l)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=896; start_column=14;
|
|
end_line=896; end_column=70;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> situation_familiale_calcul_apl_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=896; start_column=14; end_line=896; end_column=70;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_zone_: ZoneDHabitation.t =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.zone"] (embed_zone_d_habitation)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=898; start_column=14;
|
|
end_line=898; end_column=44;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> zone_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=898; start_column=14; end_line=898; end_column=44;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=900; start_column=14;
|
|
end_line=900; end_column=53;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=900; start_column=14; end_line=900; end_column=53;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_redevance_: money =
|
|
try ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.redevance"] (embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=890; start_column=14;
|
|
end_line=890; end_column=49;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> money_of_cents_string "0"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=890; start_column=14; end_line=890; end_column=49;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})) in
|
|
let calcul_apl_logement_foyer_dot_condition_2_du_832_25_: unit -> bool =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.condition_2_du_832_25"] (embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4419; start_column=14;
|
|
end_line=4419; end_column=61;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))) in
|
|
let calcul_apl_logement_foyer_dot_limitation_majoration_personnes_a_charge_:
|
|
unit -> bool = fun (_: unit) -> (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.limitation_majoration_personnes_à_charge"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5916;
|
|
start_column=5;
|
|
end_line=5919; end_column=28;
|
|
law_headings=["Article D862-7";
|
|
"Section III : Allocations de logement";
|
|
"Chapitre II : Saint-Barthélemy et Saint-Martin";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ ->
|
|
false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
false)))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5556; start_column=5;
|
|
end_line=5562; end_column=28;
|
|
law_headings=["Article D861-8";
|
|
"Section 2 : Allocations de logement";
|
|
"Titre VI : Disposition particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> true
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))) in
|
|
let calcul_apl_logement_foyer_dot_n_nombre_parts_d832_25_: unit -> decimal =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer.n_nombre_parts_d832_25"] (embed_decimal)
|
|
(raise EmptyError)) in
|
|
let result_: CalculAidePersonnaliseeLogementFoyer.t = (log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer"; "CalculAidePersonnaliséeLogementFoyer"]
|
|
((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_apl_logement_foyer"; "CalculAidePersonnaliséeLogementFoyer"]
|
|
calcul_aide_personnalisee_logement_foyer)
|
|
({CalculAidePersonnaliseeLogementFoyerIn.type_logement_foyer_in =
|
|
calcul_apl_logement_foyer_dot_type_logement_foyer_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.date_conventionnement_in =
|
|
calcul_apl_logement_foyer_dot_date_conventionnement_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.ressources_menage_arrondies_in =
|
|
calcul_apl_logement_foyer_dot_ressources_menage_arrondies_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.nombre_personnes_a_charge_in =
|
|
calcul_apl_logement_foyer_dot_nombre_personnes_a_charge_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.situation_familiale_calcul_apl_in =
|
|
calcul_apl_logement_foyer_dot_situation_familiale_calcul_apl_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.zone_in =
|
|
calcul_apl_logement_foyer_dot_zone_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.date_courante_in =
|
|
calcul_apl_logement_foyer_dot_date_courante_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.redevance_in =
|
|
calcul_apl_logement_foyer_dot_redevance_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.condition_2_du_832_25_in =
|
|
calcul_apl_logement_foyer_dot_condition_2_du_832_25_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.limitation_majoration_personnes_a_charge_in =
|
|
calcul_apl_logement_foyer_dot_limitation_majoration_personnes_a_charge_;
|
|
CalculAidePersonnaliseeLogementFoyerIn.n_nombre_parts_d832_25_in =
|
|
calcul_apl_logement_foyer_dot_n_nombre_parts_d832_25_}))) in
|
|
let calcul_apl_logement_foyer_dot_coefficient_multiplicateur_d832_25_: money = result_.CalculAidePersonnaliseeLogementFoyer.coefficient_multiplicateur_d832_25 in
|
|
let calcul_apl_logement_foyer_dot_coefficient_r_d832_25_: money = result_.CalculAidePersonnaliseeLogementFoyer.coefficient_r_d832_25 in
|
|
let calcul_apl_logement_foyer_dot_n_nombre_parts_d832_25_: decimal = result_.CalculAidePersonnaliseeLogementFoyer.n_nombre_parts_d832_25 in
|
|
let calcul_apl_logement_foyer_dot_equivalence_loyer_eligible_: money = result_.CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_eligible in
|
|
let calcul_apl_logement_foyer_dot_plafond_equivalence_loyer_eligible_: money = result_.CalculAidePersonnaliseeLogementFoyer.plafond_equivalence_loyer_eligible in
|
|
let calcul_apl_logement_foyer_dot_equivalence_loyer_minimale_: money = result_.CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_minimale in
|
|
let calcul_apl_logement_foyer_dot_coefficient_prise_en_charge_d832_25_seuil_: decimal = result_.CalculAidePersonnaliseeLogementFoyer.coefficient_prise_en_charge_d832_25 in
|
|
let calcul_apl_logement_foyer_dot_aide_finale_formule_: money = result_.CalculAidePersonnaliseeLogementFoyer.aide_finale_formule in
|
|
let calcul_apl_logement_foyer_dot_traitement_aide_finale_montant_minimal_:
|
|
money -> money = result_.CalculAidePersonnaliseeLogementFoyer.traitement_aide_finale in
|
|
let seuil_minimal_depense_nette_minimale_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"seuil_minimal_dépense_nette_minimale"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4693; start_column=7;
|
|
end_line=4693; end_column=26;
|
|
law_headings=["Article D842-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
condition_d842_11_3_))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
ressources_menage_arrondies_seuil_
|
|
coefficient_d842_11_))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4674; start_column=14;
|
|
end_line=4674; end_column=50;
|
|
law_headings=["Article D842-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> montant_forfaitaire_d842_11_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=847; start_column=11; end_line=847; end_column=47;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let plafond_mensualite_d842_6_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"plafond_mensualité_d842_6"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4598; start_column=5;
|
|
end_line=4598; end_column=44;
|
|
law_headings=["Article D842-9";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
local_habite_premiere_fois_beneficiaire_))
|
|
(fun (_: unit) ->
|
|
(let plafond_signature_ : money =
|
|
((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom";
|
|
"output"] (embed_money)
|
|
((calcul_plafond_mensualite_d842_6_avec_limitation_dom_tom_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom";
|
|
"input0"] (embed_date)
|
|
date_signature_pret_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom";
|
|
"input1"] (embed_integer)
|
|
nombre_personnes_a_charge_)))))))
|
|
in
|
|
(let plafond_entree_ : money =
|
|
((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom";
|
|
"output"] (embed_money)
|
|
((calcul_plafond_mensualite_d842_6_avec_limitation_dom_tom_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom";
|
|
"input0"] (embed_date)
|
|
date_entree_logement_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom";
|
|
"input1"] (embed_integer)
|
|
nombre_personnes_a_charge_)))))))
|
|
in
|
|
( if
|
|
(o_lt_mon_mon plafond_signature_
|
|
plafond_entree_) then plafond_entree_
|
|
else plafond_signature_)))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4579; start_column=14;
|
|
end_line=4579; end_column=39;
|
|
law_headings=["Article D842-9";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> (log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom";
|
|
"output"] (embed_money)
|
|
((calcul_plafond_mensualite_d842_6_avec_limitation_dom_tom_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom";
|
|
"input0"] (embed_date) date_signature_pret_))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"calcul_plafond_mensualité_d842_6_avec_limitation_dom_tom";
|
|
"input1"] (embed_integer)
|
|
nombre_personnes_a_charge_))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=839; start_column=11; end_line=839; end_column=36;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let mensualite_minimale_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété"; "mensualité_minimale"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4448; start_column=14;
|
|
end_line=4448; end_column=33;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calcul_equivalence_loyer_minimale_dot_montant_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=837; start_column=12; end_line=837; end_column=31;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficient_prise_en_charge_: decimal = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"coefficient_prise_en_charge"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4422; start_column=14;
|
|
end_line=4422; end_column=41;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calcul_apl_logement_foyer_dot_coefficient_prise_en_charge_d832_25_seuil_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=838; start_column=12; end_line=838; end_column=39;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let abattement_depense_nette_minimale_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"abattement_dépense_nette_minimale"] (unembeddable)
|
|
(fun (allocation_mensuelle_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4663; start_column=14;
|
|
end_line=4663; end_column=47;
|
|
law_headings=["Article D842-11";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let depense_nette_minimale_ : money =
|
|
((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"dépense_nette_minimale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"dépense_nette_minimale"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"dépense_nette_minimale"]
|
|
depense_nette_minimale_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"dépense_nette_minimale"; "input0"]
|
|
(embed_money) allocation_mensuelle_)))))))
|
|
in
|
|
( if
|
|
(o_lt_mon_mon depense_nette_minimale_
|
|
seuil_minimal_depense_nette_minimale_) then
|
|
(o_sub_mon_mon
|
|
seuil_minimal_depense_nette_minimale_
|
|
depense_nette_minimale_) else
|
|
(money_of_cents_string "0")))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=852; start_column=11; end_line=852; end_column=44;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let mensualite_eligible_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété"; "mensualité_éligible"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4433; start_column=14;
|
|
end_line=4433; end_column=33;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_gt_mon_mon mensualite_principale_
|
|
plafond_mensualite_d842_6_) then
|
|
plafond_mensualite_d842_6_ else
|
|
mensualite_principale_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=835; start_column=12; end_line=835; end_column=31;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_depense_nette_minimale_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_dépense_nette_minimale"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4481; start_column=14;
|
|
end_line=4481; end_column=36;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_minoration_forfaitaire"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_minoration_forfaitaire";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_minoration_forfaitaire"]
|
|
traitement_aide_finale_minoration_forfaitaire_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_minoration_forfaitaire";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
(let abattement_ : money = ((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"abattement_dépense_nette_minimale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"abattement_dépense_nette_minimale";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"abattement_dépense_nette_minimale"]
|
|
abattement_depense_nette_minimale_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"abattement_dépense_nette_minimale";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
( if (o_lt_mon_mon aide_finale_ abattement_) then
|
|
(money_of_cents_string "0") else
|
|
(o_sub_mon_mon aide_finale_ abattement_))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=875; start_column=10; end_line=875; end_column=32;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let aide_finale_formule_: money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété"; "aide_finale_formule"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4400; start_column=14;
|
|
end_line=4400; end_column=33;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(o_sub_mon_mon
|
|
(o_add_mon_mon mensualite_eligible_
|
|
montant_forfaitaire_charges_)
|
|
mensualite_minimale_)
|
|
coefficient_prise_en_charge_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=870; start_column=12; end_line=870; end_column=31;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_contributions_sociales_arrondi_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4495; start_column=14;
|
|
end_line=4495; end_column=36;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_dépense_nette_minimale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_dépense_nette_minimale";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_dépense_nette_minimale"]
|
|
traitement_aide_finale_depense_nette_minimale_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_dépense_nette_minimale";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
(let crds_ : money = ((log_end_call
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"] ((log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"; "output"] (embed_money)
|
|
((log_begin_call
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"]
|
|
contributions_sociales_dot_montant_)
|
|
((log_variable_definition
|
|
["ContributionsSocialesAidesPersonnelleLogement";
|
|
"montant"; "input0"] (embed_money)
|
|
aide_finale_)))))))
|
|
in
|
|
(let aide_finale_moins_crds_arrondie_ : money =
|
|
(o_round_mon
|
|
(o_sub_mon_mon
|
|
(o_sub_mon_mon aide_finale_ crds_)
|
|
(money_of_cents_string "50")))
|
|
in
|
|
( if
|
|
(o_gte_mon_mon
|
|
(o_add_mon_mon
|
|
aide_finale_moins_crds_arrondie_ crds_)
|
|
(money_of_cents_string "0")) then
|
|
(o_add_mon_mon
|
|
aide_finale_moins_crds_arrondie_ crds_)
|
|
else (money_of_cents_string "0")))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=876; start_column=10; end_line=876; end_column=40;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_montant_minimal_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_montant_minimal"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4515; start_column=14;
|
|
end_line=4515; end_column=36;
|
|
law_headings=["Article D842-6";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_ : money = ((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_contributions_sociales_arrondi";
|
|
"output"] (embed_money) ((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_contributions_sociales_arrondi"]
|
|
traitement_aide_finale_contributions_sociales_arrondi_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale_contributions_sociales_arrondi";
|
|
"input0"] (embed_money) aide_finale_)))))))
|
|
in
|
|
( if
|
|
(o_lt_mon_mon aide_finale_
|
|
montant_minimal_aide_d842_6_) then
|
|
(money_of_cents_string "0") else aide_finale_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=877; start_column=10; end_line=877; end_column=25;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_dat_dat date_signature_pret_
|
|
(date_of_numbers (1992) (9) (30)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=908; start_column=13;
|
|
end_line=908; end_column=48;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}))) then
|
|
() else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=908; start_column=13;
|
|
end_line=908; end_column=48;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (10) (1)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=907; start_column=13;
|
|
end_line=907; end_column=42;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}))) then
|
|
() else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=907; start_column=13;
|
|
end_line=907; end_column=42;
|
|
law_headings=["Secteur accession à la propriété";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]}) in
|
|
{CalculAllocationLogementAccessionPropriete.mensualite_eligible =
|
|
mensualite_eligible_;
|
|
CalculAllocationLogementAccessionPropriete.mensualite_minimale =
|
|
mensualite_minimale_;
|
|
CalculAllocationLogementAccessionPropriete.coefficient_prise_en_charge =
|
|
coefficient_prise_en_charge_;
|
|
CalculAllocationLogementAccessionPropriete.aide_finale_formule =
|
|
aide_finale_formule_;
|
|
CalculAllocationLogementAccessionPropriete.traitement_aide_finale =
|
|
traitement_aide_finale_montant_minimal_}
|
|
|
|
let calcul_aide_personnalisee_logement (calcul_aide_personnalisee_logement_in: CalculAidePersonnaliseeLogementIn.t) : CalculAidePersonnaliseeLogement.t =
|
|
let mode_occupation_: ModeOccupation.t = calcul_aide_personnalisee_logement_in.CalculAidePersonnaliseeLogementIn.mode_occupation_in in
|
|
let type_aide_: TypeAidesPersonnelleLogement.t = calcul_aide_personnalisee_logement_in.CalculAidePersonnaliseeLogementIn.type_aide_in in
|
|
let ressources_menage_sans_arrondi_: money = calcul_aide_personnalisee_logement_in.CalculAidePersonnaliseeLogementIn.ressources_menage_sans_arrondi_in in
|
|
let situation_familiale_: SituationFamiliale.t = calcul_aide_personnalisee_logement_in.CalculAidePersonnaliseeLogementIn.situation_familiale_in in
|
|
let nombre_personnes_a_charge_: integer = calcul_aide_personnalisee_logement_in.CalculAidePersonnaliseeLogementIn.nombre_personnes_a_charge_in in
|
|
let zone_: ZoneDHabitation.t = calcul_aide_personnalisee_logement_in.CalculAidePersonnaliseeLogementIn.zone_in in
|
|
let date_courante_: date = calcul_aide_personnalisee_logement_in.CalculAidePersonnaliseeLogementIn.date_courante_in in
|
|
let residence_: Collectivite.t = calcul_aide_personnalisee_logement_in.CalculAidePersonnaliseeLogementIn.residence_in in
|
|
let categorie_calcul_apl_: CategorieCalculAPL.t = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogement"; "catégorie_calcul_apl"]
|
|
(embed_categorie_calcul_a_p_l) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1420; start_column=14;
|
|
end_line=1420; end_column=34;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
match mode_occupation_
|
|
with
|
|
| ModeOccupation.Locataire location_ ->
|
|
(CategorieCalculAPL.Location location_)
|
|
| ModeOccupation.ResidentLogementFoyer logementfoyer_ ->
|
|
(CategorieCalculAPL.LogementFoyer logementfoyer_)
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation proprietaire_ ->
|
|
(CategorieCalculAPL.AccessionPropriete
|
|
proprietaire_)
|
|
| ModeOccupation.SousLocataire location_ ->
|
|
(CategorieCalculAPL.Location location_)
|
|
| ModeOccupation.LocationAccession proprietaire_ ->
|
|
(CategorieCalculAPL.AccessionPropriete
|
|
proprietaire_)))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=758; start_column=11; end_line=758; end_column=31;
|
|
law_headings=["Tous secteurs";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let ressources_menage_avec_arrondi_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogement"; "ressources_ménage_avec_arrondi"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1941; start_column=14;
|
|
end_line=1941; end_column=31;
|
|
law_headings=["Article D823-17";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
arrondi_centaine_superieure_
|
|
ressources_menage_sans_arrondi_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=751; start_column=10; end_line=751; end_column=22;
|
|
law_headings=["Tous secteurs";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogement"; "situation_familiale_calcul_apl"]
|
|
(embed_situation_familiale_calcul_a_p_l) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=83; start_column=14;
|
|
end_line=83; end_column=44;
|
|
law_headings=["Article 7";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_
|
|
with
|
|
| SituationFamiliale.Celibataire _ ->
|
|
(SituationFamilialeCalculAPL.PersonneSeule ())
|
|
| SituationFamiliale.Maries _ ->
|
|
(SituationFamilialeCalculAPL.Couple ())
|
|
| SituationFamiliale.Pacses _ ->
|
|
(SituationFamilialeCalculAPL.Couple ())
|
|
| SituationFamiliale.Concubins _ ->
|
|
(SituationFamilialeCalculAPL.Couple ())
|
|
| SituationFamiliale.CelibataireSepareDeFait _ ->
|
|
(SituationFamilialeCalculAPL.PersonneSeule ())
|
|
| SituationFamiliale.ConcubinageDontSepareDeFait _ ->
|
|
(SituationFamilialeCalculAPL.Couple ())))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=759; start_column=11; end_line=759; end_column=41;
|
|
law_headings=["Tous secteurs";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let sous_calcul_traitement_: TraitementFormuleAideFinale.t = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogement"; "sous_calcul_traitement"]
|
|
(embed_traitement_formule_aide_finale) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1443; start_column=14;
|
|
end_line=1443; end_column=36;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
match categorie_calcul_apl_
|
|
with
|
|
| CategorieCalculAPL.Location location_ ->
|
|
(let traitement_formule_ :
|
|
CalculAidePersonnaliseeLogementLocatif.t =
|
|
(let result_ :
|
|
CalculAidePersonnaliseeLogementLocatif.t =
|
|
((log_begin_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"direct"]
|
|
calcul_aide_personnalisee_logement_locatif)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"direct"; "input"]
|
|
(embed_calcul_aide_personnalisee_logement_locatif_in)
|
|
({CalculAidePersonnaliseeLogementLocatifIn.loyer_principal_base_in =
|
|
(
|
|
try
|
|
(location_.Location.loyer_principal)
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1453; start_column=31;
|
|
end_line=1453; end_column=55;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.ressources_menage_arrondies_in =
|
|
(
|
|
try ressources_menage_avec_arrondi_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1448;
|
|
start_column=43;
|
|
end_line=1448; end_column=60;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.beneficiaire_aide_adulte_ou_enfant_handicapes_in =
|
|
(
|
|
try
|
|
(location_.Location.beneficiaire_aide_adulte_ou_enfant_handicapes)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1455;
|
|
start_column=15;
|
|
end_line=1455; end_column=69;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.date_courante_in =
|
|
(try date_courante_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1451;
|
|
start_column=29;
|
|
end_line=1451; end_column=42;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.nombre_personnes_a_charge_in =
|
|
(try nombre_personnes_a_charge_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1449;
|
|
start_column=41;
|
|
end_line=1449; end_column=66;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.situation_familiale_calcul_apl_in =
|
|
(
|
|
try situation_familiale_calcul_apl_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1452;
|
|
start_column=46;
|
|
end_line=1452; end_column=76;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.zone_in =
|
|
(try zone_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1450;
|
|
start_column=20;
|
|
end_line=1450; end_column=24;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.logement_est_chambre_in =
|
|
(
|
|
try
|
|
(location_.Location.logement_est_chambre)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1456;
|
|
start_column=36;
|
|
end_line=1456; end_column=65;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.agees_ou_handicap_adultes_hebergees_onereux_particuliers_in =
|
|
(
|
|
try
|
|
(location_.Location.agees_ou_handicap_adultes_hebergees_onereux_particuliers)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1459;
|
|
start_column=15;
|
|
end_line=1459; end_column=80;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.type_aide_in =
|
|
(try type_aide_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1460;
|
|
start_column=25;
|
|
end_line=1460; end_column=34;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.colocation_in =
|
|
(
|
|
try (location_.Location.colocation)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1457;
|
|
start_column=26;
|
|
end_line=1457; end_column=45;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.reduction_loyer_solidarite_in =
|
|
(
|
|
try
|
|
(match
|
|
(location_.Location.bailleur)
|
|
with
|
|
| TypeBailleur.BailleurSocial bailleur_ ->
|
|
(bailleur_.ConventionBailleurSocial.reduction_loyer_solidarite_percue)
|
|
| TypeBailleur.BailleurPriveAvecConventionnementSocial _ ->
|
|
(money_of_cents_string "0")
|
|
| TypeBailleur.BailleurPrive _ ->
|
|
(money_of_cents_string "0"))
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1462;
|
|
start_column=16;
|
|
end_line=1465; end_column=39;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.logement_meuble_d842_2_in =
|
|
(
|
|
try
|
|
(location_.Location.logement_meuble_d842_2)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1466;
|
|
start_column=38;
|
|
end_line=1466; end_column=69;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementLocatifIn.residence_in =
|
|
(try residence_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1467;
|
|
start_column=25;
|
|
end_line=1467; end_column=34;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})))}))))
|
|
in
|
|
(let result_ :
|
|
CalculAidePersonnaliseeLogementLocatif.t =
|
|
({CalculAidePersonnaliseeLogementLocatif.montant_forfaitaire_charges_d823_16 =
|
|
(result_.CalculAidePersonnaliseeLogementLocatif.montant_forfaitaire_charges_d823_16);
|
|
CalculAidePersonnaliseeLogementLocatif.plafond_loyer_d823_16_2 =
|
|
(result_.CalculAidePersonnaliseeLogementLocatif.plafond_loyer_d823_16_2);
|
|
CalculAidePersonnaliseeLogementLocatif.participation_minimale =
|
|
(result_.CalculAidePersonnaliseeLogementLocatif.participation_minimale);
|
|
CalculAidePersonnaliseeLogementLocatif.taux_composition_familiale =
|
|
(result_.CalculAidePersonnaliseeLogementLocatif.taux_composition_familiale);
|
|
CalculAidePersonnaliseeLogementLocatif.participation_personnelle =
|
|
(result_.CalculAidePersonnaliseeLogementLocatif.participation_personnelle);
|
|
CalculAidePersonnaliseeLogementLocatif.aide_finale_formule =
|
|
(result_.CalculAidePersonnaliseeLogementLocatif.aide_finale_formule);
|
|
CalculAidePersonnaliseeLogementLocatif.traitement_aide_finale =
|
|
(fun (param0_: money) ->
|
|
(log_end_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale";
|
|
"output"] (embed_money)
|
|
((log_begin_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale"]
|
|
(result_.CalculAidePersonnaliseeLogementLocatif.traitement_aide_finale))
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"traitement_aide_finale";
|
|
"input0"] (embed_money)
|
|
param0_)))))))}) in
|
|
((log_end_call
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"direct"] ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementLocatif";
|
|
"direct"; "output"]
|
|
(embed_calcul_aide_personnalisee_logement_locatif)
|
|
( if
|
|
((log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1447; start_column=9;
|
|
end_line=1468; end_column=10;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) then result_ else result_)))))))
|
|
in
|
|
({TraitementFormuleAideFinale.aide_finale_formule =
|
|
(traitement_formule_.CalculAidePersonnaliseeLogementLocatif.aide_finale_formule);
|
|
TraitementFormuleAideFinale.traitement_aide_finale =
|
|
(traitement_formule_.CalculAidePersonnaliseeLogementLocatif.traitement_aide_finale)}))
|
|
| CategorieCalculAPL.AccessionPropriete proprietaire_ ->
|
|
(let traitement_formule_ :
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.t
|
|
=
|
|
(let result_ :
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.t
|
|
= ((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"direct"]
|
|
calcul_aide_personnalisee_logement_accession_propriete)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"direct"; "input"]
|
|
(embed_calcul_aide_personnalisee_logement_accession_propriete_in)
|
|
({CalculAidePersonnaliseeLogementAccessionProprieteIn.mensualite_principale_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.mensualite_principale)
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1505; start_column=38;
|
|
end_line=1505; end_column=72;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.ressources_menage_arrondies_in =
|
|
(
|
|
try ressources_menage_avec_arrondi_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1500;
|
|
start_column=44;
|
|
end_line=1500; end_column=61;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.nombre_personnes_a_charge_in =
|
|
(try nombre_personnes_a_charge_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1501;
|
|
start_column=42;
|
|
end_line=1501; end_column=67;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.situation_familiale_calcul_apl_in =
|
|
(
|
|
try situation_familiale_calcul_apl_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1504;
|
|
start_column=47;
|
|
end_line=1504; end_column=77;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.type_travaux_logement_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.type_travaux_logement_d832_15)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1506;
|
|
start_column=38;
|
|
end_line=1506; end_column=80;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.date_signature_pret_in =
|
|
(
|
|
try
|
|
((proprietaire_.Proprietaire.pret).Pret.date_signature)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1507;
|
|
start_column=36;
|
|
end_line=1507; end_column=68;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.local_habite_premiere_fois_beneficiaire_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.local_habite_premiere_fois_beneficiaire)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1509;
|
|
start_column=14;
|
|
end_line=1509; end_column=66;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.date_entree_logement_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.date_entree_logement)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1510;
|
|
start_column=37;
|
|
end_line=1510; end_column=70;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.copropriete_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.copropriete)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1511;
|
|
start_column=28;
|
|
end_line=1511; end_column=52;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.situation_r822_11_13_17_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.situation_r822_11_13_17)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1512;
|
|
start_column=40;
|
|
end_line=1512; end_column=76;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.zone_in =
|
|
(try zone_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1502;
|
|
start_column=21;
|
|
end_line=1502; end_column=25;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.type_pret_in =
|
|
(
|
|
try
|
|
((proprietaire_.Proprietaire.pret).Pret.type_pret)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1513;
|
|
start_column=26;
|
|
end_line=1513; end_column=53;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.anciennete_logement_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.anciennete_logement)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1514;
|
|
start_column=36;
|
|
end_line=1514; end_column=68;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementAccessionProprieteIn.date_courante_in =
|
|
(try date_courante_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1503;
|
|
start_column=30;
|
|
end_line=1503; end_column=43;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})))}))))
|
|
in
|
|
(let result_ :
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.t
|
|
=
|
|
({CalculAidePersonnaliseeLogementAccessionPropriete.mensualite_eligible =
|
|
(result_.CalculAidePersonnaliseeLogementAccessionPropriete.mensualite_eligible);
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.mensualite_minimale =
|
|
(result_.CalculAidePersonnaliseeLogementAccessionPropriete.mensualite_minimale);
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.coefficient_prise_en_charge_d832_10 =
|
|
(result_.CalculAidePersonnaliseeLogementAccessionPropriete.coefficient_prise_en_charge_d832_10);
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.aide_finale_formule =
|
|
(result_.CalculAidePersonnaliseeLogementAccessionPropriete.aide_finale_formule);
|
|
CalculAidePersonnaliseeLogementAccessionPropriete.traitement_aide_finale =
|
|
(fun (param0_: money) ->
|
|
(log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale";
|
|
"output"] (embed_money)
|
|
((log_begin_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale"]
|
|
(result_.CalculAidePersonnaliseeLogementAccessionPropriete.traitement_aide_finale))
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"traitement_aide_finale";
|
|
"input0"] (embed_money)
|
|
param0_)))))))}) in
|
|
((log_end_call
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"direct"] ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementAccessionPropriété";
|
|
"direct"; "output"]
|
|
(embed_calcul_aide_personnalisee_logement_accession_propriete)
|
|
( if
|
|
((log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1499; start_column=10;
|
|
end_line=1515; end_column=11;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) then result_ else result_)))))))
|
|
in
|
|
({TraitementFormuleAideFinale.aide_finale_formule =
|
|
(traitement_formule_.CalculAidePersonnaliseeLogementAccessionPropriete.aide_finale_formule);
|
|
TraitementFormuleAideFinale.traitement_aide_finale =
|
|
(traitement_formule_.CalculAidePersonnaliseeLogementAccessionPropriete.traitement_aide_finale)}))
|
|
| CategorieCalculAPL.LogementFoyer logement_foyer__ ->
|
|
(let traitement_formule_ :
|
|
CalculAidePersonnaliseeLogementFoyer.t =
|
|
(let result_ :
|
|
CalculAidePersonnaliseeLogementFoyer.t =
|
|
((log_begin_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"direct"]
|
|
calcul_aide_personnalisee_logement_foyer)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"direct"; "input"]
|
|
(embed_calcul_aide_personnalisee_logement_foyer_in)
|
|
({CalculAidePersonnaliseeLogementFoyerIn.type_logement_foyer_in =
|
|
(
|
|
try
|
|
(logement_foyer__.LogementFoyer.type_user)
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1486; start_column=35;
|
|
end_line=1486; end_column=55;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementFoyerIn.date_conventionnement_in =
|
|
(
|
|
try
|
|
(logement_foyer__.LogementFoyer.date_conventionnement)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1487;
|
|
start_column=37;
|
|
end_line=1487; end_column=74;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementFoyerIn.ressources_menage_arrondies_in =
|
|
(
|
|
try ressources_menage_avec_arrondi_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1480;
|
|
start_column=43;
|
|
end_line=1480; end_column=60;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementFoyerIn.nombre_personnes_a_charge_in =
|
|
(try nombre_personnes_a_charge_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1481;
|
|
start_column=41;
|
|
end_line=1481; end_column=66;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementFoyerIn.situation_familiale_calcul_apl_in =
|
|
(
|
|
try situation_familiale_calcul_apl_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1484;
|
|
start_column=46;
|
|
end_line=1484; end_column=76;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementFoyerIn.zone_in =
|
|
(try zone_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1482;
|
|
start_column=20;
|
|
end_line=1482; end_column=24;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementFoyerIn.date_courante_in =
|
|
(try date_courante_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1483;
|
|
start_column=29;
|
|
end_line=1483; end_column=42;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementFoyerIn.redevance_in =
|
|
(
|
|
try
|
|
(logement_foyer__.LogementFoyer.redevance)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1485;
|
|
start_column=25;
|
|
end_line=1485; end_column=50;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAidePersonnaliseeLogementFoyerIn.condition_2_du_832_25_in =
|
|
(fun (_: unit) -> raise EmptyError);
|
|
CalculAidePersonnaliseeLogementFoyerIn.limitation_majoration_personnes_a_charge_in =
|
|
(fun (_: unit) -> raise EmptyError);
|
|
CalculAidePersonnaliseeLogementFoyerIn.n_nombre_parts_d832_25_in =
|
|
(fun (_: unit) -> raise EmptyError)}))))
|
|
in
|
|
(let result_ :
|
|
CalculAidePersonnaliseeLogementFoyer.t =
|
|
({CalculAidePersonnaliseeLogementFoyer.coefficient_multiplicateur_d832_25 =
|
|
(result_.CalculAidePersonnaliseeLogementFoyer.coefficient_multiplicateur_d832_25);
|
|
CalculAidePersonnaliseeLogementFoyer.coefficient_r_d832_25 =
|
|
(result_.CalculAidePersonnaliseeLogementFoyer.coefficient_r_d832_25);
|
|
CalculAidePersonnaliseeLogementFoyer.n_nombre_parts_d832_25 =
|
|
(result_.CalculAidePersonnaliseeLogementFoyer.n_nombre_parts_d832_25);
|
|
CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_eligible =
|
|
(result_.CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_eligible);
|
|
CalculAidePersonnaliseeLogementFoyer.plafond_equivalence_loyer_eligible =
|
|
(result_.CalculAidePersonnaliseeLogementFoyer.plafond_equivalence_loyer_eligible);
|
|
CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_minimale =
|
|
(result_.CalculAidePersonnaliseeLogementFoyer.equivalence_loyer_minimale);
|
|
CalculAidePersonnaliseeLogementFoyer.coefficient_prise_en_charge_d832_25 =
|
|
(result_.CalculAidePersonnaliseeLogementFoyer.coefficient_prise_en_charge_d832_25);
|
|
CalculAidePersonnaliseeLogementFoyer.aide_finale_formule =
|
|
(result_.CalculAidePersonnaliseeLogementFoyer.aide_finale_formule);
|
|
CalculAidePersonnaliseeLogementFoyer.traitement_aide_finale =
|
|
(fun (param0_: money) ->
|
|
(log_end_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale";
|
|
"output"] (embed_money)
|
|
((log_begin_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale"]
|
|
(result_.CalculAidePersonnaliseeLogementFoyer.traitement_aide_finale))
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"traitement_aide_finale";
|
|
"input0"] (embed_money)
|
|
param0_)))))))}) in
|
|
((log_end_call
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"direct"] ((log_variable_definition
|
|
["CalculAidePersonnaliséeLogementFoyer";
|
|
"direct"; "output"]
|
|
(embed_calcul_aide_personnalisee_logement_foyer)
|
|
( if
|
|
((log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1479; start_column=9;
|
|
end_line=1488; end_column=10;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) then result_ else result_)))))))
|
|
in
|
|
({TraitementFormuleAideFinale.aide_finale_formule =
|
|
(traitement_formule_.CalculAidePersonnaliseeLogementFoyer.aide_finale_formule);
|
|
TraitementFormuleAideFinale.traitement_aide_finale =
|
|
(traitement_formule_.CalculAidePersonnaliseeLogementFoyer.traitement_aide_finale)}))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=761; start_column=11; end_line=761; end_column=33;
|
|
law_headings=["Tous secteurs";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_: money -> money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogement"; "traitement_aide_finale"]
|
|
(unembeddable)
|
|
(fun (arg_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1433; start_column=14;
|
|
end_line=1433; end_column=36;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(sous_calcul_traitement_.TraitementFormuleAideFinale.traitement_aide_finale)
|
|
arg_))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=764; start_column=12; end_line=764; end_column=34;
|
|
law_headings=["Tous secteurs";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let aide_finale_formule_: money = (log_variable_definition
|
|
["CalculAidePersonnaliséeLogement"; "aide_finale_formule"] (embed_money)
|
|
(
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1431; start_column=14;
|
|
end_line=1431; end_column=33;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
sous_calcul_traitement_.TraitementFormuleAideFinale.aide_finale_formule))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=763; start_column=12; end_line=763; end_column=31;
|
|
law_headings=["Tous secteurs";
|
|
"Calcul du montant de l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
{CalculAidePersonnaliseeLogement.aide_finale_formule = aide_finale_formule_;
|
|
CalculAidePersonnaliseeLogement.traitement_aide_finale =
|
|
traitement_aide_finale_}
|
|
|
|
let eligibilite_aides_personnelle_logement (eligibilite_aides_personnelle_logement_in: EligibiliteAidesPersonnelleLogementIn.t) : EligibiliteAidesPersonnelleLogement.t =
|
|
let menage_: Menage.t = eligibilite_aides_personnelle_logement_in.EligibiliteAidesPersonnelleLogementIn.menage_in in
|
|
let demandeur_: Demandeur.t = eligibilite_aides_personnelle_logement_in.EligibiliteAidesPersonnelleLogementIn.demandeur_in in
|
|
let date_courante_: date = eligibilite_aides_personnelle_logement_in.EligibiliteAidesPersonnelleLogementIn.date_courante_in in
|
|
let condition_logement_residence_principale_: unit -> bool = eligibilite_aides_personnelle_logement_in.EligibiliteAidesPersonnelleLogementIn.condition_logement_residence_principale_in in
|
|
let condition_logement_surface_: unit -> bool = eligibilite_aides_personnelle_logement_in.EligibiliteAidesPersonnelleLogementIn.condition_logement_surface_in in
|
|
let date_entree_vigueur_differee_cch_: unit -> date = eligibilite_aides_personnelle_logement_in.EligibiliteAidesPersonnelleLogementIn.date_entree_vigueur_differee_cch_in in
|
|
let date_entree_vigueur_differee_cch_: date = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"date_entrée_vigueur_différée_cch"] (embed_date) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) -> date_entree_vigueur_differee_cch_ ())|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5471; start_column=14;
|
|
end_line=5471; end_column=46;
|
|
law_headings=["Article R861-5";
|
|
"Capitre I : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Disposition particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> date_of_numbers (2021) (1) (1)))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=303; start_column=12; end_line=303; end_column=44;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let seuil_l822_3_parts_propriete_: decimal = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"seuil_l822_3_parts_propriété"] (embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=105; start_column=14;
|
|
end_line=105; end_column=42;
|
|
law_headings=["Article R822-1";
|
|
"Section 1 : Conditions relatives au bénéficiaire";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> decimal_of_string "0.1"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=308; start_column=11; end_line=308; end_column=39;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let seuil_l822_3_parts_usufruit_: decimal = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement"; "seuil_l822_3_parts_usufruit"]
|
|
(embed_decimal) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=106; start_column=14;
|
|
end_line=106; end_column=41;
|
|
law_headings=["Article R822-1";
|
|
"Section 1 : Conditions relatives au bénéficiaire";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> decimal_of_string "0.1"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=309; start_column=11; end_line=309; end_column=38;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let usufruit_ou_propriete_famille_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"usufruit_ou_propriété_famille"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=164; start_column=14;
|
|
end_line=164; end_column=43;
|
|
law_headings=["Article L822-3";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_or
|
|
(match
|
|
((menage_.Menage.logement).Logement.proprietaire)
|
|
with
|
|
| ParentOuAutre.DemandeurOuConjointOuParentOuViaPartsSocietes parts_ ->
|
|
true
|
|
| ParentOuAutre.Autre _ -> false)
|
|
(match
|
|
((menage_.Menage.logement).Logement.usufruit)
|
|
with
|
|
| ParentOuAutre.DemandeurOuConjointOuParentOuViaPartsSocietes parts_ ->
|
|
true
|
|
| ParentOuAutre.Autre _ -> false)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=307; start_column=11; end_line=307; end_column=40;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let nombre_personnes_logement_: integer = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement"; "nombre_personnes_logement"]
|
|
(embed_integer) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1012; start_column=14;
|
|
end_line=1012; end_column=39;
|
|
law_headings=["Article R822-25";
|
|
"Section 3 : Conditions relatives au logement";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_add_int_int
|
|
(o_add_int_int
|
|
(match (menage_.Menage.situation_familiale)
|
|
with
|
|
| SituationFamiliale.Celibataire _ ->
|
|
(integer_of_string "1")
|
|
| SituationFamiliale.Maries _ ->
|
|
(integer_of_string "2")
|
|
| SituationFamiliale.Pacses _ ->
|
|
(integer_of_string "2")
|
|
| SituationFamiliale.Concubins _ ->
|
|
(integer_of_string "2")
|
|
| SituationFamiliale.CelibataireSepareDeFait _ ->
|
|
(integer_of_string "1")
|
|
| SituationFamiliale.ConcubinageDontSepareDeFait _ ->
|
|
(integer_of_string "2"))
|
|
(menage_.Menage.nombre_autres_occupants_logement))
|
|
(o_length (menage_.Menage.personnes_a_charge))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=304; start_column=11; end_line=304; end_column=36;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let septieme_alinea_l823_1_applicable_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"septième_alinéa_l823_1_applicable"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1350; start_column=5;
|
|
end_line=1350; end_column=40;
|
|
law_headings=["Article L861-5";
|
|
"Section 2 : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ -> false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=433; start_column=9;
|
|
end_line=433; end_column=42;
|
|
law_headings=["Article L823-1";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=297; start_column=11;
|
|
end_line=297; end_column=44;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=297; start_column=11; end_line=297; end_column=44;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_non_ouverture_l822_9_decence_logement_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_non_ouverture_l822_9_decence_logement"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=364; start_column=18;
|
|
end_line=364; end_column=61;
|
|
law_headings=["Article L822-9";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_not
|
|
((menage_.Menage.logement).Logement.logement_decent_l89_462))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=295; start_column=11;
|
|
end_line=295; end_column=58;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=295; start_column=11; end_line=295; end_column=58;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_non_ouverture_l822_8_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_non_ouverture_l822_8"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=350; start_column=18;
|
|
end_line=350; end_column=67;
|
|
law_headings=["Article L822-8";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(menage_.Menage.condition_rattache_foyer_fiscal_parent_ifi)))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=294; start_column=11;
|
|
end_line=294; end_column=41;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=294; start_column=11; end_line=294; end_column=41;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_logement_residence_principale_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_logement_résidence_principale"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) -> condition_logement_residence_principale_ ())|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=46; start_column=5;
|
|
end_line=46; end_column=41;
|
|
law_headings=["Article L821-2";
|
|
"Sous-section 1 : Aides personnelles au logement";
|
|
"Section 2 : Règles de non-cumul";
|
|
"Chapitre Ier : Principes généraux";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
((menage_.Menage.logement).Logement.residence_principale)))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=290; start_column=12;
|
|
end_line=290; end_column=51;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=290; start_column=12; end_line=290; end_column=51;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let ouverture_droits_retraite_dot_date_naissance_assure_: date =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"ouverture_droits_retraite.date_naissance_assuré"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=123; start_column=14;
|
|
end_line=123; end_column=61;
|
|
law_headings=["Article L161-17-2";
|
|
"Paragraphe 1 : Information et simplification des démarches des assurés.";
|
|
"Sous-section 4 : Assurance vieillesse";
|
|
"Section 1 : Bénéficiaires";
|
|
"Chapitre 1er : Dispositions relatives aux prestations";
|
|
"Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales";
|
|
"Titre III: Titre III : Dispositions communes relatives au financement";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]}
|
|
true))
|
|
(fun (_: unit) -> demandeur_.Demandeur.date_naissance))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=123; start_column=14; end_line=123; end_column=61;
|
|
law_headings=["Article L161-17-2";
|
|
"Paragraphe 1 : Information et simplification des démarches des assurés.";
|
|
"Sous-section 4 : Assurance vieillesse";
|
|
"Section 1 : Bénéficiaires";
|
|
"Chapitre 1er : Dispositions relatives aux prestations";
|
|
"Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales";
|
|
"Titre III: Titre III : Dispositions communes relatives au financement";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]})) in
|
|
let result_: OuvertureDroitsRetraite.t = (log_end_call
|
|
["ÉligibilitéAidesPersonnelleLogement"; "ouverture_droits_retraite";
|
|
"OuvertureDroitsRetraite"] ((log_begin_call
|
|
["ÉligibilitéAidesPersonnelleLogement"; "ouverture_droits_retraite";
|
|
"OuvertureDroitsRetraite"] ouverture_droits_retraite)
|
|
({OuvertureDroitsRetraiteIn.date_naissance_assure_in =
|
|
ouverture_droits_retraite_dot_date_naissance_assure_}))) in
|
|
let ouverture_droits_retraite_dot_age_ouverture_droit_: duration = result_.OuvertureDroitsRetraite.age_ouverture_droit in
|
|
let condition_nationalite_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement"; "condition_nationalité"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1308; start_column=5;
|
|
end_line=1308; end_column=40;
|
|
law_headings=["Article L861-5";
|
|
"Section 2 : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ -> false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> false
|
|
| Collectivite.LaReunion _ -> false
|
|
| Collectivite.SaintBarthelemy _ -> false
|
|
| Collectivite.SaintMartin _ -> false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)))
|
|
(fun (_: unit) ->
|
|
match (demandeur_.Demandeur.nationalite)
|
|
with
|
|
| Nationalite.Francaise _ -> false
|
|
| Nationalite.Etrangere conditions_ ->
|
|
(conditions_.ConditionsEtrangers.satisfait_art_4_ordonnance_2002_mayotte)))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=125; start_column=14;
|
|
end_line=125; end_column=35;
|
|
law_headings=["Article L822-2";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
match (demandeur_.Demandeur.nationalite)
|
|
with
|
|
| Nationalite.Francaise _ -> true
|
|
| Nationalite.Etrangere conditions_ ->
|
|
(conditions_.ConditionsEtrangers.satisfait_conditions_l512_2_code_securite_sociale)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=289; start_column=11; end_line=289; end_column=32;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let plafond_individuel_l815_9_secu_: money = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"plafond_individuel_l815_9_sécu"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=329; start_column=5;
|
|
end_line=330; end_column=34;
|
|
law_headings=["Article D815-1";
|
|
"Section 1 : Ouverture du droit et liquidation de l'allocation de solidarité aux personnes âgées";
|
|
"Chapitre 5 : Allocation de solidarité aux personnes âgées";
|
|
"Titre I : Allocations aux personnes âgées";
|
|
"Livre VIII : Allocations aux personnes âgées - Allocation aux adultes handicapés - Aides à l'emploi pour la garde des jeunes enfants - Protection complémentaire en matière de santé";
|
|
"Partie réglementaire - Décrets simples";
|
|
"Code de la sécurité sociale"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2018) (4) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2019) (1) (1))))))
|
|
(fun (_: unit) -> money_of_cents_string "999840"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=334; start_column=5;
|
|
end_line=335; end_column=34;
|
|
law_headings=["Article D815-1";
|
|
"Section 1 : Ouverture du droit et liquidation de l'allocation de solidarité aux personnes âgées";
|
|
"Chapitre 5 : Allocation de solidarité aux personnes âgées";
|
|
"Titre I : Allocations aux personnes âgées";
|
|
"Livre VIII : Allocations aux personnes âgées - Allocation aux adultes handicapés - Aides à l'emploi pour la garde des jeunes enfants - Protection complémentaire en matière de santé";
|
|
"Partie réglementaire - Décrets simples";
|
|
"Code de la sécurité sociale"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1))))))
|
|
(fun (_: unit) -> money_of_cents_string "1041840"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=339; start_column=5;
|
|
end_line=340; end_column=34;
|
|
law_headings=["Article D815-1";
|
|
"Section 1 : Ouverture du droit et liquidation de l'allocation de solidarité aux personnes âgées";
|
|
"Chapitre 5 : Allocation de solidarité aux personnes âgées";
|
|
"Titre I : Allocations aux personnes âgées";
|
|
"Livre VIII : Allocations aux personnes âgées - Allocation aux adultes handicapés - Aides à l'emploi pour la garde des jeunes enfants - Protection complémentaire en matière de santé";
|
|
"Partie réglementaire - Décrets simples";
|
|
"Code de la sécurité sociale"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2021) (1) (1))))))
|
|
(fun (_: unit) -> money_of_cents_string "1083840"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=58; start_column=5;
|
|
end_line=58; end_column=34;
|
|
law_headings=["Circulaire de la CNAV 2023-3 du 09/01/2022 \"Revalorisation à compter du 1er janvier 2023\"";
|
|
"Montants revalorisés de l'allocation de solidarité aux personnes âgées"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1)))))
|
|
(fun (_: unit) -> money_of_cents_string "1153302"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=89; start_column=5;
|
|
end_line=90; end_column=33;
|
|
law_headings=["Circulaire de la CNAV 2022-3 du 11/01/2022 \"Revalorisation à compter du 1er janvier 2022\"";
|
|
"Montants revalorisés de l'allocation de solidarité aux personnes âgées"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2023) (1) (1))))))
|
|
(fun (_: unit) -> money_of_cents_string "1100144"));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=122; start_column=5;
|
|
end_line=123; end_column=33;
|
|
law_headings=["Circulaire de la CNAV 2021-1 du 11/01/2021 \"Revalorisation à compter du 1er janvier 2021\"";
|
|
"Montants revalorisés de l'allocation de solidarité aux personnes âgées"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (1) (1)))
|
|
(o_lt_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1))))))
|
|
(fun (_: unit) -> money_of_cents_string "1088175"))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=312; start_column=11; end_line=312; end_column=41;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_logement_location_tiers_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_logement_location_tiers"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=221; start_column=5;
|
|
end_line=229; end_column=39;
|
|
law_headings=["Article L822-4";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.loue_ou_sous_loue_a_des_tiers)
|
|
with
|
|
| LoueOuSousLoueADesTiers.Non _ ->
|
|
true
|
|
| LoueOuSousLoueADesTiers.Oui personne_ ->
|
|
(o_or
|
|
((let result_ :
|
|
VerificationAgeSuperieurA.t
|
|
= ((log_begin_call
|
|
["VérificationÂgeSupérieurÀ";
|
|
"direct"]
|
|
verification_age_superieur_a)
|
|
((log_variable_definition
|
|
["VérificationÂgeSupérieurÀ";
|
|
"direct"; "input"]
|
|
(embed_verification_age_superieur_a_in)
|
|
({VerificationAgeSuperieurAIn.date_naissance_in =
|
|
(
|
|
try
|
|
(personne_.PersonneSousLocation.date_naissance_personne_sous_location)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=225;
|
|
start_column=30;
|
|
end_line=225; end_column=76;
|
|
law_headings=
|
|
["Article L822-4";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]})));
|
|
VerificationAgeSuperieurAIn.date_courante_in =
|
|
(
|
|
try date_courante_
|
|
with
|
|
EmptyError ->
|
|
(raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=226;
|
|
start_column=29;
|
|
end_line=226; end_column=42;
|
|
law_headings=
|
|
["Article L822-4";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]})));
|
|
VerificationAgeSuperieurAIn.annees_in =
|
|
(
|
|
try
|
|
(duration_of_numbers (30) (0) (0))
|
|
with
|
|
EmptyError ->
|
|
(raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=227;
|
|
start_column=22;
|
|
end_line=227; end_column=27;
|
|
law_headings=
|
|
["Article L822-4";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]})))}))))
|
|
in
|
|
(let result_ :
|
|
VerificationAgeSuperieurA.t
|
|
=
|
|
({VerificationAgeSuperieurA.est_superieur =
|
|
(result_.VerificationAgeSuperieurA.est_superieur)})
|
|
in
|
|
((log_end_call
|
|
["VérificationÂgeSupérieurÀ";
|
|
"direct"]
|
|
((log_variable_definition
|
|
["VérificationÂgeSupérieurÀ";
|
|
"direct"; "output"]
|
|
(embed_verification_age_superieur_a)
|
|
( if
|
|
((log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=224;
|
|
start_column=8;
|
|
end_line=227; end_column=29;
|
|
law_headings=
|
|
["Article L822-4";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) then result_
|
|
else result_))))))).VerificationAgeSuperieurA.est_superieur)
|
|
(personne_.PersonneSousLocation.conforme_article_l442_1)))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=215; start_column=5;
|
|
end_line=216; end_column=34;
|
|
law_headings=["Article L822-4";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.loue_ou_sous_loue_a_des_tiers)
|
|
with
|
|
| LoueOuSousLoueADesTiers.Non _ -> true
|
|
| LoueOuSousLoueADesTiers.Oui _ -> false)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=292; start_column=11;
|
|
end_line=292; end_column=44;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=292; start_column=11; end_line=292; end_column=44;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let prestations_familiales_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"prestations_familiales.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=355; start_column=14;
|
|
end_line=355; end_column=50;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=355; start_column=14; end_line=355; end_column=50;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let prestations_familiales_dot_residence_: Collectivite.t =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"prestations_familiales.résidence"] (embed_collectivite)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=356; start_column=14;
|
|
end_line=356; end_column=46;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> menage_.Menage.residence))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=356; start_column=14; end_line=356; end_column=46;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let prestations_familiales_dot_age_l512_3_2_: unit -> duration = fun
|
|
(_: unit) ->
|
|
(log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"prestations_familiales.âge_l512_3_2"]
|
|
(embed_duration)
|
|
(handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(
|
|
fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([||])
|
|
(fun
|
|
(_: unit) ->
|
|
true)
|
|
(fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(
|
|
fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(
|
|
fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([||])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5724;
|
|
start_column=5;
|
|
end_line=5727; end_column=28;
|
|
law_headings=
|
|
["Article R862-2";
|
|
"Section I : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre II : Saint-Barthélemy et Saint-Martin";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
date_entree_vigueur_differee_cch_)
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
false
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
false
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
false))))
|
|
(fun
|
|
(_: unit) ->
|
|
duration_of_numbers (22) (0) (0)))|])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5629;
|
|
start_column=6;
|
|
end_line=5635; end_column=30;
|
|
law_headings=
|
|
["Article D861-9";
|
|
"Section 2 : Allocations de logement";
|
|
"Titre VI : Disposition particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
true
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
false
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true)))
|
|
(fun
|
|
(_: unit) ->
|
|
duration_of_numbers (22) (0) (0)))|])
|
|
(fun
|
|
(_: unit) ->
|
|
false)
|
|
(fun
|
|
(_: unit) ->
|
|
raise
|
|
EmptyError)))|])
|
|
(fun
|
|
(_: unit) ->
|
|
true)
|
|
(fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(
|
|
fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([||])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1129;
|
|
start_column=14;
|
|
end_line=1129; end_column=49;
|
|
law_headings=
|
|
["Article R823-4";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun
|
|
(_: unit) ->
|
|
duration_of_numbers (21) (0) (0)))|])
|
|
(fun
|
|
(_: unit) ->
|
|
false)
|
|
(fun
|
|
(_: unit) ->
|
|
raise
|
|
EmptyError)))) in
|
|
let result_: EligibilitePrestationsFamiliales.t = (log_end_call
|
|
["ÉligibilitéAidesPersonnelleLogement"; "prestations_familiales";
|
|
"ÉligibilitéPrestationsFamiliales"] ((log_begin_call
|
|
["ÉligibilitéAidesPersonnelleLogement"; "prestations_familiales";
|
|
"ÉligibilitéPrestationsFamiliales"]
|
|
eligibilite_prestations_familiales)
|
|
({EligibilitePrestationsFamilialesIn.date_courante_in =
|
|
prestations_familiales_dot_date_courante_;
|
|
EligibilitePrestationsFamilialesIn.residence_in =
|
|
prestations_familiales_dot_residence_;
|
|
EligibilitePrestationsFamilialesIn.age_l512_3_2_in =
|
|
prestations_familiales_dot_age_l512_3_2_}))) in
|
|
let prestations_familiales_dot_age_l512_3_2_: duration = result_.EligibilitePrestationsFamiliales.age_l512_3_2 in
|
|
let prestations_familiales_dot_droit_ouvert_: EnfantPrestationsFamiliales.t ->
|
|
bool = result_.EligibilitePrestationsFamiliales.droit_ouvert in
|
|
let prestations_familiales_dot_conditions_hors_age_: EnfantPrestationsFamiliales.t ->
|
|
bool = result_.EligibilitePrestationsFamiliales.conditions_hors_age in
|
|
let prestations_familiales_dot_regime_outre_mer_l751_1_: bool = result_.EligibilitePrestationsFamiliales.regime_outre_mer_l751_1 in
|
|
let condition_logement_mode_occupation_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_logement_mode_occupation"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=189;
|
|
start_column=5;
|
|
end_line=195; end_column=65;
|
|
law_headings=["Article L822-3";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
usufruit_ou_propriete_famille_
|
|
(o_and
|
|
(o_lt_rat_rat
|
|
(match
|
|
((menage_.Menage.logement).Logement.proprietaire)
|
|
with
|
|
| ParentOuAutre.DemandeurOuConjointOuParentOuViaPartsSocietes parts_ ->
|
|
parts_
|
|
| ParentOuAutre.Autre _ ->
|
|
(decimal_of_string "0."))
|
|
seuil_l822_3_parts_propriete_)
|
|
(o_lt_rat_rat
|
|
(match
|
|
((menage_.Menage.logement).Logement.usufruit)
|
|
with
|
|
| ParentOuAutre.DemandeurOuConjointOuParentOuViaPartsSocietes parts_ ->
|
|
parts_
|
|
| ParentOuAutre.Autre _ ->
|
|
(decimal_of_string "0."))
|
|
seuil_l822_3_parts_usufruit_)))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=174; start_column=5;
|
|
end_line=176; end_column=30;
|
|
law_headings=["Article L822-3";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
usufruit_ou_propriete_famille_
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
false
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=143; start_column=5;
|
|
end_line=149; end_column=33;
|
|
law_headings=["Article L822-2";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ -> true
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
true
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
((menage_.Menage.logement).Logement.residence_principale)
|
|
| ModeOccupation.SousLocataire _ -> true
|
|
| ModeOccupation.LocationAccession _ ->
|
|
true))) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=291; start_column=11;
|
|
end_line=291; end_column=45;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=291; start_column=11; end_line=291; end_column=45;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_logement_surface_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement"; "condition_logement_surface"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) -> condition_logement_surface_ ())|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5289;
|
|
start_column=5;
|
|
end_line=5290; end_column=34;
|
|
law_headings=
|
|
["Article R844-4";
|
|
"Chapitre IV : Conditions de peuplement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(menage_.Menage.personnes_agees_handicapees_foyer_r844_4)
|
|
(o_gt_int_int
|
|
nombre_personnes_logement_
|
|
(integer_of_string
|
|
"2")))))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5282;
|
|
start_column=5;
|
|
end_line=5284; end_column=58;
|
|
law_headings=["Article R844-4";
|
|
"Chapitre IV : Conditions de peuplement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(menage_.Menage.personnes_agees_handicapees_foyer_r844_4)
|
|
(o_gte_int_int
|
|
((menage_.Menage.logement).Logement.surface_m_carres)
|
|
( if
|
|
(o_eq
|
|
nombre_personnes_logement_
|
|
(integer_of_string
|
|
"1")) then
|
|
(integer_of_string
|
|
"9") else
|
|
(integer_of_string
|
|
"16"))))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1025; start_column=5;
|
|
end_line=1042; end_column=65;
|
|
law_headings=["Article R822-25";
|
|
"Section 3 : Conditions relatives au logement";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(let
|
|
condition_logement_surface_minimale_sans_seuil_m_carres_
|
|
: integer =
|
|
(o_add_int_int
|
|
(match
|
|
(menage_.Menage.situation_familiale)
|
|
with
|
|
| SituationFamiliale.Celibataire _ ->
|
|
(integer_of_string "9")
|
|
| SituationFamiliale.Maries _ ->
|
|
(integer_of_string "16")
|
|
| SituationFamiliale.Pacses _ ->
|
|
(integer_of_string "16")
|
|
| SituationFamiliale.Concubins _ ->
|
|
(integer_of_string "16")
|
|
| SituationFamiliale.CelibataireSepareDeFait _ ->
|
|
(integer_of_string "9")
|
|
| SituationFamiliale.ConcubinageDontSepareDeFait _ ->
|
|
(integer_of_string "16"))
|
|
(o_mult_int_int
|
|
(o_add_int_int
|
|
(menage_.Menage.nombre_autres_occupants_logement)
|
|
(o_length
|
|
(menage_.Menage.personnes_a_charge)))
|
|
(integer_of_string "9")))
|
|
in
|
|
( if
|
|
(o_and
|
|
(o_gte_int_int
|
|
condition_logement_surface_minimale_sans_seuil_m_carres_
|
|
(integer_of_string "70"))
|
|
(o_gte_int_int
|
|
nombre_personnes_logement_
|
|
(integer_of_string "8"))) then
|
|
(o_gte_int_int
|
|
((menage_.Menage.logement).Logement.surface_m_carres)
|
|
(integer_of_string "70")) else
|
|
(o_gte_int_int
|
|
((menage_.Menage.logement).Logement.surface_m_carres)
|
|
condition_logement_surface_minimale_sans_seuil_m_carres_)))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=293; start_column=12;
|
|
end_line=293; end_column=38;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=293; start_column=12; end_line=293; end_column=38;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let age_l161_17_2_secu_: duration = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement"; "âge_l161_17_2_sécu"]
|
|
(embed_duration) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=125; start_column=14;
|
|
end_line=125; end_column=32;
|
|
law_headings=["Article L161-17-2";
|
|
"Paragraphe 1 : Information et simplification des démarches des assurés.";
|
|
"Sous-section 4 : Assurance vieillesse";
|
|
"Section 1 : Bénéficiaires";
|
|
"Chapitre 1er : Dispositions relatives aux prestations";
|
|
"Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales";
|
|
"Titre III: Titre III : Dispositions communes relatives au financement";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
ouverture_droits_retraite_dot_age_ouverture_droit_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=311; start_column=11; end_line=311; end_column=29;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_ouverture_l822_10_peuplement_logement_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_ouverture_l822_10_peuplement_logement"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=389; start_column=18;
|
|
end_line=389; end_column=44;
|
|
law_headings=["Article L822-10";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
condition_logement_surface_))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=296; start_column=11;
|
|
end_line=296; end_column=58;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=296; start_column=11; end_line=296; end_column=58;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let age_l351_8_1_secu_: duration = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement"; "âge_l351_8_1_sécu"]
|
|
(embed_duration) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_sécurité_sociale.catala_fr";
|
|
start_line=163; start_column=14;
|
|
end_line=163; end_column=31;
|
|
law_headings=["Article L351-8";
|
|
"Section 5 : Taux et montant de la pension";
|
|
"Chapitre 1er : Ouverture du droit, liquidation et calcul des pensions de retraite";
|
|
"Titre V : Assurance vieillesse - Assurance veuvage";
|
|
"Livre III : Dispositions relatives aux assurances sociales et à diverses catégories de personnes rattachées au régime générale";
|
|
"Partie législative";
|
|
"Code de la sécurité sociale"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_add_dur_dur age_l161_17_2_secu_
|
|
(duration_of_numbers (5) (0) (0))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=310; start_column=11; end_line=310; end_column=28;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let eligibilite_logement_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement"; "éligibilité_logement"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=91; start_column=5;
|
|
end_line=92; end_column=52;
|
|
law_headings=["Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_or
|
|
condition_non_ouverture_l822_8_
|
|
condition_non_ouverture_l822_9_decence_logement_)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=84; start_column=5;
|
|
end_line=87; end_column=52;
|
|
law_headings=["Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
condition_logement_residence_principale_
|
|
(o_and
|
|
condition_logement_mode_occupation_
|
|
(o_and
|
|
condition_logement_location_tiers_
|
|
condition_ouverture_l822_10_peuplement_logement_)))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=298; start_column=11;
|
|
end_line=298; end_column=31;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=298; start_column=11; end_line=298; end_column=31;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_2_r823_4_: PersonneACharge.t -> bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement"; "condition_2_r823_4"]
|
|
(unembeddable)
|
|
(fun (personne_a_charge_: PersonneACharge.t) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1171; start_column=5;
|
|
end_line=1194; end_column=10;
|
|
law_headings=["Article R823-4";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
false
|
|
| PersonneACharge.AutrePersonneACharge parent_ ->
|
|
(o_and
|
|
(o_eq
|
|
(parent_.AutrePersonneACharge.parente)
|
|
(Parente.Ascendant ()))
|
|
(o_and
|
|
(o_lte_mon_mon
|
|
(parent_.AutrePersonneACharge.ressources)
|
|
(o_mult_mon_rat
|
|
plafond_individuel_l815_9_secu_
|
|
(decimal_of_string "1.25")))
|
|
(o_or
|
|
(o_or
|
|
(o_lte_dat_dat
|
|
(o_add_dat_dur AbortOnRound
|
|
(parent_.AutrePersonneACharge.date_naissance)
|
|
age_l351_8_1_secu_)
|
|
date_courante_)
|
|
(o_and
|
|
(parent_.AutrePersonneACharge.titulaire_allocation_personne_agee)
|
|
((let result_ :
|
|
VerificationAgeInferieurOuEgalA.t
|
|
=
|
|
((log_begin_call
|
|
["VérificationÂgeInférieurOuÉgalÀ";
|
|
"direct"]
|
|
verification_age_inferieur_ou_egal_a)
|
|
((log_variable_definition
|
|
["VérificationÂgeInférieurOuÉgalÀ";
|
|
"direct";
|
|
"input"]
|
|
(embed_verification_age_inferieur_ou_egal_a_in)
|
|
({VerificationAgeInferieurOuEgalAIn.date_naissance_in =
|
|
(
|
|
try
|
|
(parent_.AutrePersonneACharge.date_naissance)
|
|
with
|
|
EmptyError ->
|
|
(raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1184;
|
|
start_column=38;
|
|
end_line=1184; end_column=59;
|
|
law_headings=
|
|
["Article R823-4";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
VerificationAgeInferieurOuEgalAIn.date_courante_in =
|
|
(
|
|
try
|
|
date_courante_
|
|
with
|
|
EmptyError
|
|
-> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1185;
|
|
start_column=37;
|
|
end_line=1185; end_column=50;
|
|
law_headings=
|
|
["Article R823-4";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
VerificationAgeInferieurOuEgalAIn.annees_in =
|
|
(
|
|
try
|
|
(duration_of_numbers (65) (0) (0))
|
|
with
|
|
EmptyError
|
|
-> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1186;
|
|
start_column=30;
|
|
end_line=1186; end_column=35;
|
|
law_headings=
|
|
["Article R823-4";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})))}))))
|
|
in
|
|
(let result_ :
|
|
VerificationAgeInferieurOuEgalA.t
|
|
=
|
|
({VerificationAgeInferieurOuEgalA.est_inferieur_ou_egal =
|
|
(result_.VerificationAgeInferieurOuEgalA.est_inferieur_ou_egal)})
|
|
in
|
|
((log_end_call
|
|
["VérificationÂgeInférieurOuÉgalÀ";
|
|
"direct"]
|
|
((log_variable_definition
|
|
["VérificationÂgeInférieurOuÉgalÀ";
|
|
"direct"; "output"]
|
|
(embed_verification_age_inferieur_ou_egal_a)
|
|
( if
|
|
((log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1183;
|
|
start_column=17;
|
|
end_line=1186; end_column=37;
|
|
law_headings=
|
|
["Article R823-4";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) then
|
|
result_ else
|
|
result_))))))).VerificationAgeInferieurOuEgalA.est_inferieur_ou_egal)))
|
|
(o_and
|
|
(o_lte_dat_dat
|
|
(o_add_dat_dur AbortOnRound
|
|
(parent_.AutrePersonneACharge.date_naissance)
|
|
age_l161_17_2_secu_)
|
|
date_courante_)
|
|
(parent_.AutrePersonneACharge.beneficiaire_l161_19_l351_8_l643_3_secu))))))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=321; start_column=12;
|
|
end_line=321; end_column=30;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=321; start_column=12; end_line=321; end_column=30;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let eligibilite_: bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement"; "éligibilité"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=328; start_column=5;
|
|
end_line=330; end_column=25;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
(o_and condition_nationalite_
|
|
(o_and
|
|
condition_logement_mode_occupation_
|
|
eligibilite_logement_))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=317; start_column=12;
|
|
end_line=317; end_column=23;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=317; start_column=12; end_line=317; end_column=23;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let prise_en_compte_personne_a_charge_: PersonneACharge.t -> bool = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"prise_en_compte_personne_à_charge"] (unembeddable)
|
|
(fun (personne_a_charge_: PersonneACharge.t) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1218;
|
|
start_column=4;
|
|
end_line=1226; end_column=48;
|
|
law_headings=["Article R823-4";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
false
|
|
| PersonneACharge.AutrePersonneACharge parent_ ->
|
|
(o_and
|
|
(o_or
|
|
(match
|
|
(parent_.AutrePersonneACharge.parente)
|
|
with
|
|
| Parente.Ascendant _ ->
|
|
true
|
|
| Parente.Descendant _ ->
|
|
false
|
|
| Parente.CollateralDeuxiemeTroisiemeDegre _ ->
|
|
false)
|
|
(o_or
|
|
(match
|
|
(parent_.AutrePersonneACharge.parente)
|
|
with
|
|
| Parente.Ascendant _ ->
|
|
false
|
|
| Parente.Descendant _ ->
|
|
true
|
|
| Parente.CollateralDeuxiemeTroisiemeDegre _ ->
|
|
false)
|
|
(match
|
|
(parent_.AutrePersonneACharge.parente)
|
|
with
|
|
| Parente.Ascendant _ ->
|
|
false
|
|
| Parente.Descendant _ ->
|
|
false
|
|
| Parente.CollateralDeuxiemeTroisiemeDegre _ ->
|
|
true)))
|
|
(o_and
|
|
(parent_.AutrePersonneACharge.incapacite_80_pourcent_ou_restriction_emploi)
|
|
(o_lte_mon_mon
|
|
(parent_.AutrePersonneACharge.ressources)
|
|
(o_mult_mon_rat
|
|
plafond_individuel_l815_9_secu_
|
|
(decimal_of_string "1.25"))))))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1199; start_column=5;
|
|
end_line=1199; end_column=44;
|
|
law_headings=["Article R823-4";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
((log_end_call
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_2_r823_4"]
|
|
((log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_2_r823_4"; "output"]
|
|
(embed_bool) ((log_begin_call
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_2_r823_4"]
|
|
condition_2_r823_4_)
|
|
((log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_2_r823_4"; "input0"]
|
|
(embed_personne_a_charge)
|
|
personne_a_charge_)))))))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1812;
|
|
start_column=5;
|
|
end_line=1818; end_column=34;
|
|
law_headings=
|
|
["Article L862-3";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ ->
|
|
false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
false)
|
|
(match
|
|
personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
(
|
|
o_and
|
|
(match
|
|
(enfant_.EnfantACharge.obligation_scolaire)
|
|
with
|
|
|
|
|
SituationObligationScolaire.Avant _ ->
|
|
false
|
|
|
|
|
SituationObligationScolaire.Pendant _ ->
|
|
false
|
|
|
|
|
SituationObligationScolaire.Apres _ ->
|
|
true)
|
|
(o_and
|
|
(o_gt_dat_dat
|
|
(o_add_dat_dur AbortOnRound
|
|
(enfant_.EnfantACharge.date_de_naissance)
|
|
prestations_familiales_dot_age_l512_3_2_)
|
|
date_courante_)
|
|
(enfant_.EnfantACharge.etudes_apprentissage_stage_formation_pro_impossibilite_travail)))
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
false))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1543;
|
|
start_column=5;
|
|
end_line=1549; end_column=34;
|
|
law_headings=["Article L861-6";
|
|
"Section 4 : Allocations de logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ ->
|
|
true
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(match
|
|
personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
(o_and
|
|
(match
|
|
(enfant_.EnfantACharge.obligation_scolaire)
|
|
with
|
|
| SituationObligationScolaire.Avant _ ->
|
|
false
|
|
| SituationObligationScolaire.Pendant _ ->
|
|
false
|
|
| SituationObligationScolaire.Apres _ ->
|
|
true)
|
|
(o_and
|
|
(o_gt_dat_dat
|
|
(o_add_dat_dur AbortOnRound
|
|
(enfant_.EnfantACharge.date_de_naissance)
|
|
prestations_familiales_dot_age_l512_3_2_)
|
|
date_courante_)
|
|
(enfant_.EnfantACharge.etudes_apprentissage_stage_formation_pro_impossibilite_travail)))
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
false))))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=437; start_column=5;
|
|
end_line=445; end_column=28;
|
|
law_headings=["Article L823-1";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
septieme_alinea_l823_1_applicable_
|
|
(match personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
(match
|
|
(enfant_.EnfantACharge.nationalite)
|
|
with
|
|
| Nationalite.Francaise _ ->
|
|
false
|
|
| Nationalite.Etrangere conditions_ ->
|
|
(o_not
|
|
(conditions_.ConditionsEtrangers.satisfait_conditions_l512_2_code_securite_sociale)))
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
false))))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1133; start_column=5;
|
|
end_line=1150; end_column=44;
|
|
law_headings=["Article R823-4";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
((log_end_call
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"]
|
|
((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"; "output"]
|
|
(embed_bool) ((log_begin_call
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"]
|
|
prestations_familiales_dot_droit_ouvert_)
|
|
((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"; "input0"]
|
|
(embed_enfant_prestations_familiales)
|
|
({EnfantPrestationsFamiliales.identifiant =
|
|
(enfant_.EnfantACharge.identifiant);
|
|
EnfantPrestationsFamiliales.obligation_scolaire =
|
|
(enfant_.EnfantACharge.obligation_scolaire);
|
|
EnfantPrestationsFamiliales.remuneration_mensuelle =
|
|
(enfant_.EnfantACharge.remuneration_mensuelle);
|
|
EnfantPrestationsFamiliales.date_de_naissance =
|
|
(enfant_.EnfantACharge.date_de_naissance);
|
|
EnfantPrestationsFamiliales.a_deja_ouvert_droit_aux_allocations_familiales =
|
|
(enfant_.EnfantACharge.a_deja_ouvert_droit_aux_allocations_familiales);
|
|
EnfantPrestationsFamiliales.beneficie_titre_personnel_aide_personnelle_logement =
|
|
(enfant_.EnfantACharge.beneficie_titre_personnel_aide_personnelle_logement)}))))))))
|
|
| PersonneACharge.AutrePersonneACharge parent_ ->
|
|
false))) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=299; start_column=11;
|
|
end_line=299; end_column=44;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=299; start_column=11; end_line=299; end_column=44;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let personnes_a_charge_prises_en_compte_: PersonneACharge.t array = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"personnes_à_charge_prises_en_compte"]
|
|
(embed_array (embed_personne_a_charge)) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1116; start_column=14;
|
|
end_line=1116; end_column=49;
|
|
law_headings=["Article R823-4";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_filter
|
|
(fun (personne_a_charge_: PersonneACharge.t) ->
|
|
(log_end_call
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"prise_en_compte_personne_à_charge"]
|
|
((log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"prise_en_compte_personne_à_charge";
|
|
"output"] (embed_bool) ((log_begin_call
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"prise_en_compte_personne_à_charge"]
|
|
prise_en_compte_personne_a_charge_)
|
|
((log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"prise_en_compte_personne_à_charge";
|
|
"input0"] (embed_personne_a_charge)
|
|
personne_a_charge_)))))))
|
|
(menage_.Menage.personnes_a_charge)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=301; start_column=11; end_line=301; end_column=46;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficents_enfants_garde_alternee_pris_en_compte_: decimal array = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"coefficents_enfants_garde_alternée_pris_en_compte"]
|
|
(embed_array (embed_decimal)) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=334; start_column=14;
|
|
end_line=334; end_column=63;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_map
|
|
(fun (personne_a_charge_: PersonneACharge.t) ->
|
|
match personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
(match
|
|
(enfant_.EnfantACharge.situation_garde_alternee)
|
|
with
|
|
| SituationGardeAlternee.PasDeGardeAlternee _ ->
|
|
(decimal_of_string "0.")
|
|
| SituationGardeAlternee.GardeAlterneeCoefficientPriseEnCharge coeff_ ->
|
|
coeff_)
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
(decimal_of_string "0."))
|
|
(o_filter
|
|
(fun (personne_a_charge_: PersonneACharge.t) ->
|
|
match personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
(match
|
|
(enfant_.EnfantACharge.situation_garde_alternee)
|
|
with
|
|
| SituationGardeAlternee.PasDeGardeAlternee _ ->
|
|
false
|
|
| SituationGardeAlternee.GardeAlterneeCoefficientPriseEnCharge _ ->
|
|
true)
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
false)
|
|
personnes_a_charge_prises_en_compte_)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=319; start_column=12; end_line=319; end_column=61;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let nombre_personnes_a_charge_prises_en_compte_: integer = (log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"nombre_personnes_à_charge_prises_en_compte"] (embed_integer) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=332; start_column=14;
|
|
end_line=332; end_column=56;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_length personnes_a_charge_prises_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=318; start_column=12; end_line=318; end_column=54;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let _: unit = if (
|
|
try
|
|
(o_lt_rat_rat seuil_l822_3_parts_usufruit_
|
|
(decimal_of_string "0.2"))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=200; start_column=13;
|
|
end_line=200; end_column=47;
|
|
law_headings=["Article L822-3";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]})))
|
|
then () else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=200; start_column=13;
|
|
end_line=200; end_column=47;
|
|
law_headings=["Article L822-3";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}) in
|
|
let _: unit = if (
|
|
try
|
|
(o_lt_rat_rat seuil_l822_3_parts_propriete_
|
|
(decimal_of_string "0.2"))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=199; start_column=13;
|
|
end_line=199; end_column=48;
|
|
law_headings=["Article L822-3";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]})))
|
|
then () else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=199; start_column=13;
|
|
end_line=199; end_column=48;
|
|
law_headings=["Article L822-3";
|
|
"Chapitre II : Conditions générales d'attribution";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}) in
|
|
let _: unit = if (
|
|
try
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2018) (4) (1)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=353; start_column=13;
|
|
end_line=353; end_column=42;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}))) then
|
|
() else
|
|
raise (AssertionFailed {filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=353; start_column=13;
|
|
end_line=353; end_column=42;
|
|
law_headings=["Éligibilité aux aides personnelles au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}) in
|
|
{EligibiliteAidesPersonnelleLogement.date_courante = date_courante_;
|
|
EligibiliteAidesPersonnelleLogement.eligibilite = eligibilite_;
|
|
EligibiliteAidesPersonnelleLogement.nombre_personnes_a_charge_prises_en_compte =
|
|
nombre_personnes_a_charge_prises_en_compte_;
|
|
EligibiliteAidesPersonnelleLogement.coefficents_enfants_garde_alternee_pris_en_compte =
|
|
coefficents_enfants_garde_alternee_pris_en_compte_;
|
|
EligibiliteAidesPersonnelleLogement.condition_2_r823_4 =
|
|
condition_2_r823_4_}
|
|
|
|
let calcul_allocation_logement (calcul_allocation_logement_in: CalculAllocationLogementIn.t) : CalculAllocationLogement.t =
|
|
let mode_occupation_: ModeOccupation.t = calcul_allocation_logement_in.CalculAllocationLogementIn.mode_occupation_in in
|
|
let ressources_menage_sans_arrondi_: money = calcul_allocation_logement_in.CalculAllocationLogementIn.ressources_menage_sans_arrondi_in in
|
|
let situation_familiale_: SituationFamiliale.t = calcul_allocation_logement_in.CalculAllocationLogementIn.situation_familiale_in in
|
|
let nombre_personnes_a_charge_: integer = calcul_allocation_logement_in.CalculAllocationLogementIn.nombre_personnes_a_charge_in in
|
|
let zone_: ZoneDHabitation.t = calcul_allocation_logement_in.CalculAllocationLogementIn.zone_in in
|
|
let date_courante_: date = calcul_allocation_logement_in.CalculAllocationLogementIn.date_courante_in in
|
|
let type_aide_: TypeAidesPersonnelleLogement.t = calcul_allocation_logement_in.CalculAllocationLogementIn.type_aide_in in
|
|
let residence_: Collectivite.t = calcul_allocation_logement_in.CalculAllocationLogementIn.residence_in in
|
|
let categorie_calcul_apl_: CategorieCalculAPL.t = (log_variable_definition
|
|
["CalculAllocationLogement"; "catégorie_calcul_apl"]
|
|
(embed_categorie_calcul_a_p_l) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1402; start_column=14;
|
|
end_line=1402; end_column=34;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
match mode_occupation_
|
|
with
|
|
| ModeOccupation.Locataire location_ ->
|
|
(CategorieCalculAPL.Location location_)
|
|
| ModeOccupation.ResidentLogementFoyer logementfoyer_ ->
|
|
(CategorieCalculAPL.LogementFoyer logementfoyer_)
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation proprietaire_ ->
|
|
(CategorieCalculAPL.AccessionPropriete
|
|
proprietaire_)
|
|
| ModeOccupation.SousLocataire location_ ->
|
|
(CategorieCalculAPL.Location location_)
|
|
| ModeOccupation.LocationAccession proprietaire_ ->
|
|
(CategorieCalculAPL.AccessionPropriete
|
|
proprietaire_)))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=996; start_column=11; end_line=996; end_column=31;
|
|
law_headings=["Tous secteurs"; "Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let ressources_menage_avec_arrondi_: money = (log_variable_definition
|
|
["CalculAllocationLogement"; "ressources_ménage_avec_arrondi"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1945; start_column=14;
|
|
end_line=1945; end_column=31;
|
|
law_headings=["Article D823-17";
|
|
"Sous-section 2 : Calcul de l'aide en secteur locatif";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
arrondi_centaine_superieure_
|
|
ressources_menage_sans_arrondi_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=988; start_column=10; end_line=988; end_column=22;
|
|
law_headings=["Tous secteurs"; "Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let situation_familiale_calcul_apl_: SituationFamilialeCalculAPL.t = (log_variable_definition
|
|
["CalculAllocationLogement"; "situation_familiale_calcul_apl"]
|
|
(embed_situation_familiale_calcul_a_p_l) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=93; start_column=14;
|
|
end_line=93; end_column=44;
|
|
law_headings=["Article 7";
|
|
"Chapitre III : Calcul des aides personnelles au logement en secteur locatif";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
match situation_familiale_
|
|
with
|
|
| SituationFamiliale.Celibataire _ ->
|
|
(SituationFamilialeCalculAPL.PersonneSeule ())
|
|
| SituationFamiliale.Maries _ ->
|
|
(SituationFamilialeCalculAPL.Couple ())
|
|
| SituationFamiliale.Pacses _ ->
|
|
(SituationFamilialeCalculAPL.Couple ())
|
|
| SituationFamiliale.Concubins _ ->
|
|
(SituationFamilialeCalculAPL.Couple ())
|
|
| SituationFamiliale.CelibataireSepareDeFait _ ->
|
|
(SituationFamilialeCalculAPL.PersonneSeule ())
|
|
| SituationFamiliale.ConcubinageDontSepareDeFait _ ->
|
|
(SituationFamilialeCalculAPL.Couple ())))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=997; start_column=11; end_line=997; end_column=41;
|
|
law_headings=["Tous secteurs"; "Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let sous_calcul_traitement_: TraitementFormuleAideFinale.t = (log_variable_definition
|
|
["CalculAllocationLogement"; "sous_calcul_traitement"]
|
|
(embed_traitement_formule_aide_finale) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6364; start_column=24;
|
|
end_line=6364; end_column=46;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> false
|
|
| Collectivite.LaReunion _ -> false
|
|
| Collectivite.SaintBarthelemy _ -> false
|
|
| Collectivite.SaintMartin _ -> false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
true
|
|
| Collectivite.Mayotte _ -> false)))
|
|
(fun (_: unit) ->
|
|
match categorie_calcul_apl_
|
|
with
|
|
| CategorieCalculAPL.Location _ ->
|
|
({TraitementFormuleAideFinale.aide_finale_formule =
|
|
(money_of_cents_string "0");
|
|
TraitementFormuleAideFinale.traitement_aide_finale =
|
|
traitement_nul_tout_le_temps_})
|
|
| CategorieCalculAPL.AccessionPropriete _ ->
|
|
({TraitementFormuleAideFinale.aide_finale_formule =
|
|
(money_of_cents_string "0");
|
|
TraitementFormuleAideFinale.traitement_aide_finale =
|
|
traitement_nul_tout_le_temps_})
|
|
| CategorieCalculAPL.LogementFoyer logement_foyer__ ->
|
|
(let traitement_formule_ :
|
|
CalculAllocationLogementLocatif.t =
|
|
(let result_ :
|
|
CalculAllocationLogementLocatif.t
|
|
= ((log_begin_call
|
|
["CalculAllocationLogementLocatif";
|
|
"direct"]
|
|
calcul_allocation_logement_locatif)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"direct"; "input"]
|
|
(embed_calcul_allocation_logement_locatif_in)
|
|
({CalculAllocationLogementLocatifIn.loyer_principal_in =
|
|
(
|
|
try
|
|
(logement_foyer__.LogementFoyer.redevance)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6376;
|
|
start_column=31;
|
|
end_line=6376; end_column=56;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.ressources_menage_arrondies_in =
|
|
(
|
|
try
|
|
ressources_menage_avec_arrondi_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6370;
|
|
start_column=43;
|
|
end_line=6370; end_column=60;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.beneficiaire_aide_adulte_ou_enfant_handicapes_in =
|
|
(
|
|
try
|
|
(logement_foyer__.LogementFoyer.beneficiaire_aide_adulte_ou_enfant_handicapes)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6378;
|
|
start_column=15;
|
|
end_line=6378; end_column=76;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.date_courante_in =
|
|
(try date_courante_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6373;
|
|
start_column=29;
|
|
end_line=6373; end_column=42;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.nombre_personnes_a_charge_in =
|
|
(
|
|
try
|
|
nombre_personnes_a_charge_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6371;
|
|
start_column=41;
|
|
end_line=6371; end_column=66;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.situation_familiale_calcul_apl_in =
|
|
(
|
|
try
|
|
situation_familiale_calcul_apl_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6374;
|
|
start_column=46;
|
|
end_line=6374; end_column=76;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.zone_in =
|
|
(try zone_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6372;
|
|
start_column=20;
|
|
end_line=6372; end_column=24;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.logement_est_chambre_in =
|
|
(try true with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6382;
|
|
start_column=36;
|
|
end_line=6382; end_column=40;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.agees_ou_handicap_adultes_hebergees_onereux_particuliers_in =
|
|
(try false with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6389;
|
|
start_column=72;
|
|
end_line=6389; end_column=76;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.type_aide_in =
|
|
(try type_aide_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6390;
|
|
start_column=25;
|
|
end_line=6390; end_column=34;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.colocation_in =
|
|
(try false with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6386;
|
|
start_column=26;
|
|
end_line=6386; end_column=30;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.reduction_loyer_solidarite_in =
|
|
(
|
|
try (money_of_cents_string
|
|
"0")
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6394;
|
|
start_column=42;
|
|
end_line=6394; end_column=45;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.logement_meuble_d842_2_in =
|
|
(
|
|
try
|
|
(logement_foyer__.LogementFoyer.logement_meuble_d842_2)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6395;
|
|
start_column=38;
|
|
end_line=6395; end_column=76;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.residence_in =
|
|
(try residence_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6369;
|
|
start_column=25;
|
|
end_line=6369; end_column=34;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.changement_logement_d842_4_in =
|
|
(
|
|
try
|
|
(ChangementLogementD8424.PasDeChangement
|
|
())
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6396;
|
|
start_column=42;
|
|
end_line=6396; end_column=57;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})))}))))
|
|
in
|
|
(let result_ :
|
|
CalculAllocationLogementLocatif.t
|
|
=
|
|
({CalculAllocationLogementLocatif.aide_finale_formule =
|
|
(result_.CalculAllocationLogementLocatif.aide_finale_formule);
|
|
CalculAllocationLogementLocatif.traitement_aide_finale =
|
|
(fun (param0_: money) ->
|
|
(log_end_call
|
|
["CalculAllocationLogementLocatif";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"traitement_aide_finale";
|
|
"output"] (embed_money)
|
|
((log_begin_call
|
|
["CalculAllocationLogementLocatif";
|
|
"traitement_aide_finale"]
|
|
(result_.CalculAllocationLogementLocatif.traitement_aide_finale))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"traitement_aide_finale";
|
|
"input0"] (embed_money)
|
|
param0_)))))))})
|
|
in
|
|
((log_end_call
|
|
["CalculAllocationLogementLocatif";
|
|
"direct"] ((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"direct"; "output"]
|
|
(embed_calcul_allocation_logement_locatif)
|
|
( if
|
|
((log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=6368;
|
|
start_column=9;
|
|
end_line=6397; end_column=10;
|
|
law_headings=["Article D863-7";
|
|
"Sous-section III : Modalités de liquidation et de versement";
|
|
"Section II : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) then result_ else
|
|
result_)))))))
|
|
in
|
|
({TraitementFormuleAideFinale.aide_finale_formule =
|
|
(traitement_formule_.CalculAllocationLogementLocatif.aide_finale_formule);
|
|
TraitementFormuleAideFinale.traitement_aide_finale =
|
|
(traitement_formule_.CalculAllocationLogementLocatif.traitement_aide_finale)}))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1528; start_column=14;
|
|
end_line=1528; end_column=36;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
match categorie_calcul_apl_
|
|
with
|
|
| CategorieCalculAPL.Location location_ ->
|
|
(let traitement_formule_ :
|
|
CalculAllocationLogementLocatif.t =
|
|
(let result_ :
|
|
CalculAllocationLogementLocatif.t =
|
|
((log_begin_call
|
|
["CalculAllocationLogementLocatif";
|
|
"direct"]
|
|
calcul_allocation_logement_locatif)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"direct"; "input"]
|
|
(embed_calcul_allocation_logement_locatif_in)
|
|
({CalculAllocationLogementLocatifIn.loyer_principal_in =
|
|
(
|
|
try
|
|
(location_.Location.loyer_principal)
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1539; start_column=31;
|
|
end_line=1539; end_column=55;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.ressources_menage_arrondies_in =
|
|
(
|
|
try ressources_menage_avec_arrondi_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1534;
|
|
start_column=43;
|
|
end_line=1534; end_column=60;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.beneficiaire_aide_adulte_ou_enfant_handicapes_in =
|
|
(
|
|
try
|
|
(location_.Location.beneficiaire_aide_adulte_ou_enfant_handicapes)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1541;
|
|
start_column=15;
|
|
end_line=1541; end_column=69;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.date_courante_in =
|
|
(try date_courante_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1537;
|
|
start_column=29;
|
|
end_line=1537; end_column=42;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.nombre_personnes_a_charge_in =
|
|
(try nombre_personnes_a_charge_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1535;
|
|
start_column=41;
|
|
end_line=1535; end_column=66;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.situation_familiale_calcul_apl_in =
|
|
(
|
|
try situation_familiale_calcul_apl_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1538;
|
|
start_column=46;
|
|
end_line=1538; end_column=76;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.zone_in =
|
|
(try zone_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1536;
|
|
start_column=20;
|
|
end_line=1536; end_column=24;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.logement_est_chambre_in =
|
|
(
|
|
try
|
|
(location_.Location.logement_est_chambre)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1542;
|
|
start_column=36;
|
|
end_line=1542; end_column=65;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.agees_ou_handicap_adultes_hebergees_onereux_particuliers_in =
|
|
(
|
|
try
|
|
(location_.Location.agees_ou_handicap_adultes_hebergees_onereux_particuliers)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1545;
|
|
start_column=15;
|
|
end_line=1545; end_column=80;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.type_aide_in =
|
|
(try type_aide_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1546;
|
|
start_column=25;
|
|
end_line=1546; end_column=34;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.colocation_in =
|
|
(
|
|
try (location_.Location.colocation)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1543;
|
|
start_column=26;
|
|
end_line=1543; end_column=45;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.reduction_loyer_solidarite_in =
|
|
(
|
|
try
|
|
(match
|
|
(location_.Location.bailleur)
|
|
with
|
|
| TypeBailleur.BailleurSocial bailleur_ ->
|
|
(bailleur_.ConventionBailleurSocial.reduction_loyer_solidarite_percue)
|
|
| TypeBailleur.BailleurPriveAvecConventionnementSocial _ ->
|
|
(money_of_cents_string "0")
|
|
| TypeBailleur.BailleurPrive _ ->
|
|
(money_of_cents_string "0"))
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1548;
|
|
start_column=16;
|
|
end_line=1551; end_column=39;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.logement_meuble_d842_2_in =
|
|
(
|
|
try
|
|
(location_.Location.logement_meuble_d842_2)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1552;
|
|
start_column=38;
|
|
end_line=1552; end_column=69;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.residence_in =
|
|
(try residence_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1533;
|
|
start_column=25;
|
|
end_line=1533; end_column=34;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementLocatifIn.changement_logement_d842_4_in =
|
|
(
|
|
try
|
|
(location_.Location.changement_logement_d842_4)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1553;
|
|
start_column=42;
|
|
end_line=1553; end_column=77;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})))}))))
|
|
in
|
|
(let result_ :
|
|
CalculAllocationLogementLocatif.t =
|
|
({CalculAllocationLogementLocatif.aide_finale_formule =
|
|
(result_.CalculAllocationLogementLocatif.aide_finale_formule);
|
|
CalculAllocationLogementLocatif.traitement_aide_finale =
|
|
(fun (param0_: money) ->
|
|
(log_end_call
|
|
["CalculAllocationLogementLocatif";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"traitement_aide_finale";
|
|
"output"] (embed_money)
|
|
((log_begin_call
|
|
["CalculAllocationLogementLocatif";
|
|
"traitement_aide_finale"]
|
|
(result_.CalculAllocationLogementLocatif.traitement_aide_finale))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementLocatif";
|
|
"traitement_aide_finale";
|
|
"input0"] (embed_money)
|
|
param0_)))))))}) in
|
|
((log_end_call
|
|
["CalculAllocationLogementLocatif"; "direct"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementLocatif"; "direct";
|
|
"output"]
|
|
(embed_calcul_allocation_logement_locatif)
|
|
( if
|
|
((log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1532; start_column=9;
|
|
end_line=1554; end_column=10;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) then result_ else result_)))))))
|
|
in
|
|
({TraitementFormuleAideFinale.aide_finale_formule =
|
|
(traitement_formule_.CalculAllocationLogementLocatif.aide_finale_formule);
|
|
TraitementFormuleAideFinale.traitement_aide_finale =
|
|
(traitement_formule_.CalculAllocationLogementLocatif.traitement_aide_finale)}))
|
|
| CategorieCalculAPL.AccessionPropriete proprietaire_ ->
|
|
(let traitement_formule_ :
|
|
CalculAllocationLogementAccessionPropriete.t
|
|
=
|
|
(let result_ :
|
|
CalculAllocationLogementAccessionPropriete.t
|
|
= ((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"direct"]
|
|
calcul_allocation_logement_accession_propriete)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"direct"; "input"]
|
|
(embed_calcul_allocation_logement_accession_propriete_in)
|
|
({CalculAllocationLogementAccessionProprieteIn.ressources_menage_arrondies_base_in =
|
|
(
|
|
try ressources_menage_avec_arrondi_
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1588; start_column=44;
|
|
end_line=1588; end_column=61;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.nombre_personnes_a_charge_in =
|
|
(try nombre_personnes_a_charge_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1589;
|
|
start_column=42;
|
|
end_line=1589; end_column=67;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.situation_familiale_calcul_apl_in =
|
|
(
|
|
try situation_familiale_calcul_apl_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1596;
|
|
start_column=47;
|
|
end_line=1596; end_column=77;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.zone_in =
|
|
(try zone_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1590;
|
|
start_column=21;
|
|
end_line=1590; end_column=25;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.residence_in =
|
|
(try residence_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1591;
|
|
start_column=26;
|
|
end_line=1591; end_column=35;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.date_courante_in =
|
|
(try date_courante_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1595;
|
|
start_column=30;
|
|
end_line=1595; end_column=43;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.mensualite_principale_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.mensualite_principale)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1597;
|
|
start_column=38;
|
|
end_line=1597; end_column=72;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.situation_r822_11_13_17_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.situation_r822_11_13_17)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1605;
|
|
start_column=40;
|
|
end_line=1605; end_column=76;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.date_signature_pret_in =
|
|
(
|
|
try
|
|
((proprietaire_.Proprietaire.pret).Pret.date_signature)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1600;
|
|
start_column=36;
|
|
end_line=1600; end_column=68;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.type_travaux_logement_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.type_travaux_logement_r842_5)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1599;
|
|
start_column=38;
|
|
end_line=1599; end_column=79;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.local_habite_premiere_fois_beneficiaire_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.local_habite_premiere_fois_beneficiaire)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1602;
|
|
start_column=14;
|
|
end_line=1602; end_column=66;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.date_entree_logement_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.date_entree_logement)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1603;
|
|
start_column=37;
|
|
end_line=1603; end_column=70;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.charges_mensuelles_pret_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.charges_mensuelles_pret)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1598;
|
|
start_column=40;
|
|
end_line=1598; end_column=76;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.copropriete_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.copropriete)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1604;
|
|
start_column=28;
|
|
end_line=1604; end_column=52;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementAccessionProprieteIn.operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat_in =
|
|
(
|
|
try
|
|
(proprietaire_.Proprietaire.operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1593;
|
|
start_column=11;
|
|
end_line=1594; end_column=81;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})))}))))
|
|
in
|
|
(let result_ :
|
|
CalculAllocationLogementAccessionPropriete.t
|
|
=
|
|
({CalculAllocationLogementAccessionPropriete.mensualite_eligible =
|
|
(result_.CalculAllocationLogementAccessionPropriete.mensualite_eligible);
|
|
CalculAllocationLogementAccessionPropriete.mensualite_minimale =
|
|
(result_.CalculAllocationLogementAccessionPropriete.mensualite_minimale);
|
|
CalculAllocationLogementAccessionPropriete.coefficient_prise_en_charge =
|
|
(result_.CalculAllocationLogementAccessionPropriete.coefficient_prise_en_charge);
|
|
CalculAllocationLogementAccessionPropriete.aide_finale_formule =
|
|
(result_.CalculAllocationLogementAccessionPropriete.aide_finale_formule);
|
|
CalculAllocationLogementAccessionPropriete.traitement_aide_finale =
|
|
(fun (param0_: money) ->
|
|
(log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale";
|
|
"output"] (embed_money)
|
|
((log_begin_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale"]
|
|
(result_.CalculAllocationLogementAccessionPropriete.traitement_aide_finale))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"traitement_aide_finale";
|
|
"input0"] (embed_money)
|
|
param0_)))))))}) in
|
|
((log_end_call
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"direct"] ((log_variable_definition
|
|
["CalculAllocationLogementAccessionPropriété";
|
|
"direct"; "output"]
|
|
(embed_calcul_allocation_logement_accession_propriete)
|
|
( if
|
|
((log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1587; start_column=10;
|
|
end_line=1606; end_column=11;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) then result_ else result_)))))))
|
|
in
|
|
({TraitementFormuleAideFinale.aide_finale_formule =
|
|
(traitement_formule_.CalculAllocationLogementAccessionPropriete.aide_finale_formule);
|
|
TraitementFormuleAideFinale.traitement_aide_finale =
|
|
(traitement_formule_.CalculAllocationLogementAccessionPropriete.traitement_aide_finale)}))
|
|
| CategorieCalculAPL.LogementFoyer logement_foyer__ ->
|
|
(let traitement_formule_ :
|
|
CalculAllocationLogementFoyer.t =
|
|
(let result_ :
|
|
CalculAllocationLogementFoyer.t =
|
|
((log_begin_call
|
|
["CalculAllocationLogementFoyer";
|
|
"direct"]
|
|
calcul_allocation_logement_foyer)
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"direct"; "input"]
|
|
(embed_calcul_allocation_logement_foyer_in)
|
|
({CalculAllocationLogementFoyerIn.type_logement_foyer_in =
|
|
(
|
|
try
|
|
(logement_foyer__.LogementFoyer.type_user)
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1575; start_column=35;
|
|
end_line=1575; end_column=55;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementFoyerIn.date_conventionnement_in =
|
|
(
|
|
try
|
|
(logement_foyer__.LogementFoyer.date_conventionnement)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1576;
|
|
start_column=37;
|
|
end_line=1576; end_column=74;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementFoyerIn.residence_in =
|
|
(try residence_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1568;
|
|
start_column=25;
|
|
end_line=1568; end_column=34;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementFoyerIn.redevance_in =
|
|
(
|
|
try
|
|
(logement_foyer__.LogementFoyer.redevance)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1572;
|
|
start_column=25;
|
|
end_line=1572; end_column=50;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementFoyerIn.ressources_menage_arrondies_in =
|
|
(
|
|
try ressources_menage_avec_arrondi_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1566;
|
|
start_column=43;
|
|
end_line=1566; end_column=60;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementFoyerIn.nombre_personnes_a_charge_in =
|
|
(try nombre_personnes_a_charge_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1567;
|
|
start_column=41;
|
|
end_line=1567; end_column=66;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementFoyerIn.situation_familiale_calcul_apl_in =
|
|
(
|
|
try situation_familiale_calcul_apl_
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1571;
|
|
start_column=46;
|
|
end_line=1571; end_column=76;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementFoyerIn.zone_in =
|
|
(try zone_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1569;
|
|
start_column=20;
|
|
end_line=1569; end_column=24;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementFoyerIn.date_courante_in =
|
|
(try date_courante_ with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1570;
|
|
start_column=29;
|
|
end_line=1570; end_column=42;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})));
|
|
CalculAllocationLogementFoyerIn.categorie_equivalence_loyer_d842_16_in =
|
|
(
|
|
try
|
|
(logement_foyer__.LogementFoyer.categorie_equivalence_loyer_d842_16)
|
|
with
|
|
EmptyError -> (raise
|
|
(NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1574;
|
|
start_column=13;
|
|
end_line=1574; end_column=64;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]})))}))))
|
|
in
|
|
(let result_ :
|
|
CalculAllocationLogementFoyer.t =
|
|
({CalculAllocationLogementFoyer.coefficient_prise_en_charge =
|
|
(result_.CalculAllocationLogementFoyer.coefficient_prise_en_charge);
|
|
CalculAllocationLogementFoyer.equivalence_loyer =
|
|
(result_.CalculAllocationLogementFoyer.equivalence_loyer);
|
|
CalculAllocationLogementFoyer.montant_forfaitaire_charges =
|
|
(result_.CalculAllocationLogementFoyer.montant_forfaitaire_charges);
|
|
CalculAllocationLogementFoyer.loyer_minimal =
|
|
(result_.CalculAllocationLogementFoyer.loyer_minimal);
|
|
CalculAllocationLogementFoyer.aide_finale_formule =
|
|
(result_.CalculAllocationLogementFoyer.aide_finale_formule);
|
|
CalculAllocationLogementFoyer.traitement_aide_finale =
|
|
(fun (param0_: money) ->
|
|
(log_end_call
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale";
|
|
"output"] (embed_money)
|
|
((log_begin_call
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale"]
|
|
(result_.CalculAllocationLogementFoyer.traitement_aide_finale))
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer";
|
|
"traitement_aide_finale";
|
|
"input0"] (embed_money)
|
|
param0_)))))))}) in
|
|
((log_end_call
|
|
["CalculAllocationLogementFoyer"; "direct"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogementFoyer"; "direct";
|
|
"output"]
|
|
(embed_calcul_allocation_logement_foyer)
|
|
( if
|
|
((log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1565; start_column=9;
|
|
end_line=1577; end_column=10;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) then result_ else result_)))))))
|
|
in
|
|
({TraitementFormuleAideFinale.aide_finale_formule =
|
|
(traitement_formule_.CalculAllocationLogementFoyer.aide_finale_formule);
|
|
TraitementFormuleAideFinale.traitement_aide_finale =
|
|
(traitement_formule_.CalculAllocationLogementFoyer.traitement_aide_finale)}))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=999; start_column=11; end_line=999; end_column=33;
|
|
law_headings=["Tous secteurs"; "Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_: money -> money = (log_variable_definition
|
|
["CalculAllocationLogement"; "traitement_aide_finale"] (unembeddable)
|
|
(fun (arg_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1415; start_column=14;
|
|
end_line=1415; end_column=36;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(sous_calcul_traitement_.TraitementFormuleAideFinale.traitement_aide_finale)
|
|
arg_))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1002; start_column=12; end_line=1002; end_column=34;
|
|
law_headings=["Tous secteurs"; "Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
let aide_finale_formule_: money = (log_variable_definition
|
|
["CalculAllocationLogement"; "aide_finale_formule"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=372; start_column=5;
|
|
end_line=374; end_column=34;
|
|
law_headings=["Article 7";
|
|
"Décret n° 2021-1750 du 21 décembre 2021 portant diverses mesures sur les aides personnelles au logement et relatif aux aides personnelles au logement à Saint-Pierre-et-Miquelon"]}
|
|
(o_and
|
|
(match residence_
|
|
with
|
|
| Collectivite.Guadeloupe _ -> false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ -> false
|
|
| Collectivite.LaReunion _ -> false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ -> false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
true
|
|
| Collectivite.Mayotte _ -> false)
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(o_lte_dat_dat date_courante_
|
|
(date_of_numbers (2025) (12) (31)))))))
|
|
(fun (_: unit) ->
|
|
o_mult_mon_rat
|
|
(sous_calcul_traitement_.TraitementFormuleAideFinale.aide_finale_formule)
|
|
(o_div_rat_rat
|
|
(o_torat_int
|
|
(o_sub_int_int (integer_of_string
|
|
"2026")
|
|
(o_getYear date_courante_)))
|
|
(decimal_of_string "8."))))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=1413; start_column=14;
|
|
end_line=1413; end_column=33;
|
|
law_headings=["Article D823-9";
|
|
"Section 1 : Calcul, liquidation et versement des aides";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
sous_calcul_traitement_.TraitementFormuleAideFinale.aide_finale_formule))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1001; start_column=12; end_line=1001; end_column=31;
|
|
law_headings=["Tous secteurs"; "Secteur logement-foyer";
|
|
"Calcul du montant de l'allocation logement";
|
|
"Prologue : aides au logement"]})))) in
|
|
{CalculAllocationLogement.aide_finale_formule = aide_finale_formule_;
|
|
CalculAllocationLogement.traitement_aide_finale =
|
|
traitement_aide_finale_}
|
|
|
|
let eligibilite_prime_de_demenagement (eligibilite_prime_de_demenagement_in: EligibilitePrimeDeDemenagementIn.t) : EligibilitePrimeDeDemenagement.t =
|
|
let informations_: InformationsPrimeDeDemenagement.t = eligibilite_prime_de_demenagement_in.EligibilitePrimeDeDemenagementIn.informations_in in
|
|
let date_emmenagement_: date = eligibilite_prime_de_demenagement_in.EligibilitePrimeDeDemenagementIn.date_emmenagement_in in
|
|
let menage_: Menage.t = eligibilite_prime_de_demenagement_in.EligibilitePrimeDeDemenagementIn.menage_in in
|
|
let demandeur_: Demandeur.t = eligibilite_prime_de_demenagement_in.EligibilitePrimeDeDemenagementIn.demandeur_in in
|
|
let date_courante_: date = eligibilite_prime_de_demenagement_in.EligibilitePrimeDeDemenagementIn.date_courante_in in
|
|
let depenses_justifiees_reellement_engagees_: money = eligibilite_prime_de_demenagement_in.EligibilitePrimeDeDemenagementIn.depenses_justifiees_reellement_engagees_in in
|
|
let delai_apres_emmenagement_l823_8_2_: duration = (log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement";
|
|
"délai_après_emménagement_l823_8_2"] (embed_duration) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2053; start_column=14;
|
|
end_line=2053; end_column=47;
|
|
law_headings=["Article D823-20";
|
|
"Section 2 : Prime de déménagement";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> duration_of_numbers (0) (6) (0)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=464; start_column=11; end_line=464; end_column=44;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_rang_enfant_: bool = (log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement"; "condition_rang_enfant"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2029; start_column=5;
|
|
end_line=2034; end_column=77;
|
|
law_headings=["Article D823-20";
|
|
"Section 2 : Prime de déménagement";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_gte_int_int
|
|
(o_add_int_int
|
|
(o_length
|
|
(o_filter
|
|
(fun
|
|
(personne_a_charge_:
|
|
PersonneACharge.t) ->
|
|
match personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge _ ->
|
|
true
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
false)
|
|
(menage_.Menage.personnes_a_charge)))
|
|
(informations_.InformationsPrimeDeDemenagement.nombre_enfants_a_naitre_apres_troisieme_mois_grossesse))
|
|
(integer_of_string "3"))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=462; start_column=11;
|
|
end_line=462; end_column=32;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=462; start_column=11; end_line=462; end_column=32;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let base_mensuelle_allocations_familiales_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement";
|
|
"base_mensuelle_allocations_familiales.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=479; start_column=14;
|
|
end_line=479; end_column=65;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=479; start_column=14; end_line=479; end_column=65;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let result_: BaseMensuelleAllocationsFamiliales.t = (log_end_call
|
|
["ÉligibilitéPrimeDeDéménagement";
|
|
"base_mensuelle_allocations_familiales";
|
|
"BaseMensuelleAllocationsFamiliales"] ((log_begin_call
|
|
["ÉligibilitéPrimeDeDéménagement";
|
|
"base_mensuelle_allocations_familiales";
|
|
"BaseMensuelleAllocationsFamiliales"]
|
|
base_mensuelle_allocations_familiales)
|
|
({BaseMensuelleAllocationsFamilialesIn.date_courante_in =
|
|
base_mensuelle_allocations_familiales_dot_date_courante_}))) in
|
|
let base_mensuelle_allocations_familiales_dot_montant_: money = result_.BaseMensuelleAllocationsFamiliales.montant in
|
|
let eligibilite_apl_dot_menage_: Menage.t =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement"; "éligibilité_apl.ménage"]
|
|
(embed_menage)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=475; start_column=14;
|
|
end_line=475; end_column=36;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> menage_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=475; start_column=14; end_line=475; end_column=36;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let eligibilite_apl_dot_demandeur_: Demandeur.t =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement"; "éligibilité_apl.demandeur"]
|
|
(embed_demandeur)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=476; start_column=14;
|
|
end_line=476; end_column=39;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> demandeur_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=476; start_column=14; end_line=476; end_column=39;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let eligibilite_apl_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement";
|
|
"éligibilité_apl.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=477; start_column=14;
|
|
end_line=477; end_column=43;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=477; start_column=14; end_line=477; end_column=43;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let eligibilite_apl_dot_condition_logement_residence_principale_: unit ->
|
|
bool =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement";
|
|
"éligibilité_apl.condition_logement_résidence_principale"]
|
|
(embed_bool) (raise EmptyError)) in
|
|
let eligibilite_apl_dot_condition_logement_surface_: unit -> bool =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement";
|
|
"éligibilité_apl.condition_logement_surface"] (embed_bool) (raise
|
|
EmptyError)) in
|
|
let eligibilite_apl_dot_date_entree_vigueur_differee_cch_: unit -> date =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement";
|
|
"éligibilité_apl.date_entrée_vigueur_différée_cch"] (embed_date)
|
|
(raise EmptyError)) in
|
|
let result_: EligibiliteAidesPersonnelleLogement.t = (log_end_call
|
|
["ÉligibilitéPrimeDeDéménagement"; "éligibilité_apl";
|
|
"ÉligibilitéAidesPersonnelleLogement"] ((log_begin_call
|
|
["ÉligibilitéPrimeDeDéménagement"; "éligibilité_apl";
|
|
"ÉligibilitéAidesPersonnelleLogement"]
|
|
eligibilite_aides_personnelle_logement)
|
|
({EligibiliteAidesPersonnelleLogementIn.menage_in =
|
|
eligibilite_apl_dot_menage_;
|
|
EligibiliteAidesPersonnelleLogementIn.demandeur_in =
|
|
eligibilite_apl_dot_demandeur_;
|
|
EligibiliteAidesPersonnelleLogementIn.date_courante_in =
|
|
eligibilite_apl_dot_date_courante_;
|
|
EligibiliteAidesPersonnelleLogementIn.condition_logement_residence_principale_in =
|
|
eligibilite_apl_dot_condition_logement_residence_principale_;
|
|
EligibiliteAidesPersonnelleLogementIn.condition_logement_surface_in =
|
|
eligibilite_apl_dot_condition_logement_surface_;
|
|
EligibiliteAidesPersonnelleLogementIn.date_entree_vigueur_differee_cch_in =
|
|
eligibilite_apl_dot_date_entree_vigueur_differee_cch_}))) in
|
|
let eligibilite_apl_dot_date_courante_: date = result_.EligibiliteAidesPersonnelleLogement.date_courante in
|
|
let eligibilite_apl_dot_eligibilite_: bool = result_.EligibiliteAidesPersonnelleLogement.eligibilite in
|
|
let eligibilite_apl_dot_nombre_personnes_a_charge_prises_en_compte_: integer = result_.EligibiliteAidesPersonnelleLogement.nombre_personnes_a_charge_prises_en_compte in
|
|
let eligibilite_apl_dot_coefficents_enfants_garde_alternee_pris_en_compte_:
|
|
decimal array = result_.EligibiliteAidesPersonnelleLogement.coefficents_enfants_garde_alternee_pris_en_compte in
|
|
let eligibilite_apl_dot_condition_2_r823_4_: PersonneACharge.t -> bool = result_.EligibiliteAidesPersonnelleLogement.condition_2_r823_4 in
|
|
let condition_periode_demenagement_: bool = (log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement";
|
|
"condition_période_déménagement"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2038; start_column=6;
|
|
end_line=2049; end_column=75;
|
|
law_headings=["Article D823-20";
|
|
"Section 2 : Prime de déménagement";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
(informations_.InformationsPrimeDeDemenagement.date_naissance_troisieme_enfant_ou_dernier_si_plus)
|
|
with
|
|
| DateNaissanceTroisiemeOuDernierPlusEnfant.MoinsDeTroisEnfants _ ->
|
|
false
|
|
| DateNaissanceTroisiemeOuDernierPlusEnfant.PlusDeTroisEnfants date_naissance_ou_grossesse_ ->
|
|
(match date_naissance_ou_grossesse_
|
|
with
|
|
| DateDeNaissanceOuMoisDeGrossesse.DateDeNaissance date_naissance_ ->
|
|
(o_lte_dat_dat date_courante_
|
|
(o_add_dat_dur AbortOnRound
|
|
(o_firstDayOfMonth
|
|
(o_add_dat_dur AbortOnRound
|
|
date_naissance_
|
|
(duration_of_numbers (2) (0) (0))))
|
|
(duration_of_numbers (0) (0) (-1))))
|
|
| DateDeNaissanceOuMoisDeGrossesse.AvantPremierJourMoisCivilTroisiemeMoisDeGrossesse _ ->
|
|
false
|
|
| DateDeNaissanceOuMoisDeGrossesse.ApresPremierJourMoisCivilTroisiemeMoisDeGrossesse _ ->
|
|
true)))) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=463; start_column=11;
|
|
end_line=463; end_column=41;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=463; start_column=11; end_line=463; end_column=41;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let plafond_d823_22_: money = (log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement"; "plafond_d823_22"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4306; start_column=14;
|
|
end_line=4306; end_column=29;
|
|
law_headings=["Article 45";
|
|
"Chapitre VIII : Prime de déménagement";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))))
|
|
(fun (_: unit) ->
|
|
o_add_mon_mon
|
|
(o_mult_mon_rat
|
|
base_mensuelle_allocations_familiales_dot_montant_
|
|
(decimal_of_string "2.4"))
|
|
( if
|
|
(o_gt_int_int
|
|
(o_length
|
|
(o_filter
|
|
(fun
|
|
(personne_a_charge_:
|
|
PersonneACharge.t) ->
|
|
match personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge _ ->
|
|
true
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
false)
|
|
(menage_.Menage.personnes_a_charge)))
|
|
(integer_of_string "3")) then
|
|
(o_mult_mon_rat
|
|
base_mensuelle_allocations_familiales_dot_montant_
|
|
(o_mult_rat_rat
|
|
(o_torat_int
|
|
(o_sub_int_int
|
|
(o_length
|
|
(o_filter
|
|
(fun
|
|
(personne_a_charge_:
|
|
PersonneACharge.t) ->
|
|
match personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge _ ->
|
|
true
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
false)
|
|
(menage_.Menage.personnes_a_charge)))
|
|
(integer_of_string "3")))
|
|
(decimal_of_string "0.2"))) else
|
|
(money_of_cents_string "0"))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=465; start_column=11; end_line=465; end_column=26;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let eligibilite_: bool = (log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement"; "éligibilité"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5509;
|
|
start_column=5;
|
|
end_line=5509; end_column=40;
|
|
law_headings=
|
|
["Article D861-7";
|
|
"Capitre I : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Disposition particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ ->
|
|
false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true))))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1857;
|
|
start_column=5;
|
|
end_line=1857; end_column=54;
|
|
law_headings=["Article L863-2";
|
|
"Section 2 : Dispositions communes aux aides applicables à Saint-Pierre-et-Miquelon";
|
|
"Chapitre III : Saint-Pierre-et-Miquelon";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
date_courante_
|
|
(date_of_numbers (2022) (1) (1)))
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ ->
|
|
false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
true
|
|
| Collectivite.Mayotte _ ->
|
|
false))))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1288; start_column=5;
|
|
end_line=1288; end_column=40;
|
|
law_headings=["Article L861-4";
|
|
"Section 2 : Dispositions communes aux aides personnelles au logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ -> false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=585; start_column=5;
|
|
end_line=588; end_column=42;
|
|
law_headings=["Article L823-8";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and eligibilite_apl_dot_eligibilite_
|
|
(o_and condition_rang_enfant_
|
|
(o_and condition_periode_demenagement_
|
|
(o_lte_dur_dur
|
|
(o_sub_dat_dat
|
|
eligibilite_apl_dot_date_courante_
|
|
date_emmenagement_)
|
|
delai_apres_emmenagement_l823_8_2_))))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=471; start_column=12;
|
|
end_line=471; end_column=23;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=471; start_column=12; end_line=471; end_column=23;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let montant_prime_demenagement_: money = (log_variable_definition
|
|
["ÉligibilitéPrimeDeDéménagement"; "montant_prime_déménagement"]
|
|
(embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2079; start_column=14;
|
|
end_line=2079; end_column=40;
|
|
law_headings=["Article D823-22";
|
|
"Section 2 : Prime de déménagement";
|
|
"Chapitre III : Modalités de liquidation et de versement";
|
|
"Titre II : Dispositions communes aux aides personnelles au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if eligibilite_ then
|
|
( if
|
|
(o_lte_mon_mon
|
|
depenses_justifiees_reellement_engagees_
|
|
plafond_d823_22_) then
|
|
depenses_justifiees_reellement_engagees_ else
|
|
plafond_d823_22_) else
|
|
(money_of_cents_string "0")))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=472; start_column=12; end_line=472; end_column=38;
|
|
law_headings=["Éligibilité à la prime de déménagement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
{EligibilitePrimeDeDemenagement.eligibilite = eligibilite_;
|
|
EligibilitePrimeDeDemenagement.montant_prime_demenagement =
|
|
montant_prime_demenagement_}
|
|
|
|
let eligibilite_allocation_logement (eligibilite_allocation_logement_in: EligibiliteAllocationLogementIn.t) : EligibiliteAllocationLogement.t =
|
|
let date_courante_: date = eligibilite_allocation_logement_in.EligibiliteAllocationLogementIn.date_courante_in in
|
|
let menage_: Menage.t = eligibilite_allocation_logement_in.EligibiliteAllocationLogementIn.menage_in in
|
|
let demandeur_: Demandeur.t = eligibilite_allocation_logement_in.EligibiliteAllocationLogementIn.demandeur_in in
|
|
let beneficie_aide_personnalisee_logement_: bool = eligibilite_allocation_logement_in.EligibiliteAllocationLogementIn.beneficie_aide_personnalisee_logement_in in
|
|
let duree_l841_1_3_: duration = (log_variable_definition
|
|
["ÉligibilitéAllocationLogement"; "durée_l841_1_3"] (embed_duration) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4153; start_column=14;
|
|
end_line=4153; end_column=28;
|
|
law_headings=["Article D841-1";
|
|
"Chapitre 1 : Champ d'application";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) -> duration_of_numbers (5) (0) (0)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=416; start_column=11; end_line=416; end_column=25;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let prestations_familiales_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"prestations_familiales.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=432; start_column=14;
|
|
end_line=432; end_column=50;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=432; start_column=14; end_line=432; end_column=50;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let prestations_familiales_dot_residence_: Collectivite.t =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"prestations_familiales.résidence"] (embed_collectivite)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=433; start_column=14;
|
|
end_line=433; end_column=46;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> menage_.Menage.residence))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=433; start_column=14; end_line=433; end_column=46;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let prestations_familiales_dot_age_l512_3_2_: unit -> duration = fun
|
|
(_: unit) ->
|
|
(log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"prestations_familiales.âge_l512_3_2"]
|
|
(embed_duration)
|
|
(raise
|
|
EmptyError)) in
|
|
let result_: EligibilitePrestationsFamiliales.t = (log_end_call
|
|
["ÉligibilitéAllocationLogement"; "prestations_familiales";
|
|
"ÉligibilitéPrestationsFamiliales"] ((log_begin_call
|
|
["ÉligibilitéAllocationLogement"; "prestations_familiales";
|
|
"ÉligibilitéPrestationsFamiliales"]
|
|
eligibilite_prestations_familiales)
|
|
({EligibilitePrestationsFamilialesIn.date_courante_in =
|
|
prestations_familiales_dot_date_courante_;
|
|
EligibilitePrestationsFamilialesIn.residence_in =
|
|
prestations_familiales_dot_residence_;
|
|
EligibilitePrestationsFamilialesIn.age_l512_3_2_in =
|
|
prestations_familiales_dot_age_l512_3_2_}))) in
|
|
let prestations_familiales_dot_age_l512_3_2_: duration = result_.EligibilitePrestationsFamiliales.age_l512_3_2 in
|
|
let prestations_familiales_dot_droit_ouvert_: EnfantPrestationsFamiliales.t ->
|
|
bool = result_.EligibilitePrestationsFamiliales.droit_ouvert in
|
|
let prestations_familiales_dot_conditions_hors_age_: EnfantPrestationsFamiliales.t ->
|
|
bool = result_.EligibilitePrestationsFamiliales.conditions_hors_age in
|
|
let prestations_familiales_dot_regime_outre_mer_l751_1_: bool = result_.EligibilitePrestationsFamiliales.regime_outre_mer_l751_1 in
|
|
let l_841_1_6_applicable_: bool = (log_variable_definition
|
|
["ÉligibilitéAllocationLogement"; "l_841_1_6_applicable"] (embed_bool)
|
|
(
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1019; start_column=9;
|
|
end_line=1019; end_column=29;
|
|
law_headings=["Article L841-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> true));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1731; start_column=9;
|
|
end_line=1731; end_column=29;
|
|
law_headings=["Article L862-3";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ -> false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> false)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1424; start_column=9;
|
|
end_line=1424; end_column=29;
|
|
law_headings=["Article L861-6";
|
|
"Section 4 : Allocations de logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> true
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> false
|
|
| Collectivite.SaintMartin _ -> false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=413; start_column=11;
|
|
end_line=413; end_column=31;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=413; start_column=11; end_line=413; end_column=31;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let l_841_1_2_applicable_: bool = (log_variable_definition
|
|
["ÉligibilitéAllocationLogement"; "l_841_1_2_applicable"] (embed_bool)
|
|
(
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=913; start_column=9;
|
|
end_line=913; end_column=29;
|
|
law_headings=["Article L841-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> true));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1730; start_column=9;
|
|
end_line=1730; end_column=29;
|
|
law_headings=["Article L862-3";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ -> false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> false)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1423; start_column=9;
|
|
end_line=1423; end_column=29;
|
|
law_headings=["Article L861-6";
|
|
"Section 4 : Allocations de logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> true
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> false
|
|
| Collectivite.SaintMartin _ -> false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=412; start_column=11;
|
|
end_line=412; end_column=31;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=412; start_column=11; end_line=412; end_column=31;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let l_841_1_1_applicable_: bool = (log_variable_definition
|
|
["ÉligibilitéAllocationLogement"; "l_841_1_1_applicable"] (embed_bool)
|
|
(
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=891; start_column=9;
|
|
end_line=891; end_column=29;
|
|
law_headings=["Article L841-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> true));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1729; start_column=9;
|
|
end_line=1729; end_column=29;
|
|
law_headings=["Article L862-3";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ -> false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
| Collectivite.SaintMartin _ ->
|
|
true
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> false)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1422; start_column=9;
|
|
end_line=1422; end_column=29;
|
|
law_headings=["Article L861-6";
|
|
"Section 4 : Allocations de logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ -> true
|
|
| Collectivite.Guyane _ -> true
|
|
| Collectivite.Martinique _ -> true
|
|
| Collectivite.LaReunion _ -> true
|
|
| Collectivite.SaintBarthelemy _ -> false
|
|
| Collectivite.SaintMartin _ -> false
|
|
| Collectivite.Metropole _ -> false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=411; start_column=11;
|
|
end_line=411; end_column=31;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=411; start_column=11; end_line=411; end_column=31;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_accession_propriete_: bool = (log_variable_definition
|
|
["ÉligibilitéAllocationLogement"; "condition_accession_propriété"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4382;
|
|
start_column=5;
|
|
end_line=4387; end_column=28;
|
|
law_headings=
|
|
["Article R842-5";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
false
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation proprietaire_ ->
|
|
(o_and
|
|
(match
|
|
((proprietaire_.Proprietaire.pret).Pret.titulaire_pret)
|
|
with
|
|
| TitulairePret.Demandeur _ ->
|
|
true
|
|
| TitulairePret.VendeurQuandDemandeurAContratLocationAccession _ ->
|
|
false)
|
|
(match
|
|
(proprietaire_.Proprietaire.type_travaux_logement_r842_5)
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
true
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
false))
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false)))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4365;
|
|
start_column=5;
|
|
end_line=4370; end_column=28;
|
|
law_headings=["Article R842-5";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
false
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation proprietaire_ ->
|
|
(o_and
|
|
(match
|
|
((proprietaire_.Proprietaire.pret).Pret.titulaire_pret)
|
|
with
|
|
| TitulairePret.Demandeur _ ->
|
|
true
|
|
| TitulairePret.VendeurQuandDemandeurAContratLocationAccession _ ->
|
|
false)
|
|
(match
|
|
(proprietaire_.Proprietaire.type_travaux_logement_r842_5)
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
true
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
false))
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false)))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4348; start_column=5;
|
|
end_line=4355; end_column=28;
|
|
law_headings=["Article R842-5";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
false
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation proprietaire_ ->
|
|
(o_and
|
|
(match
|
|
((proprietaire_.Proprietaire.pret).Pret.titulaire_pret)
|
|
with
|
|
| TitulairePret.Demandeur _ ->
|
|
true
|
|
| TitulairePret.VendeurQuandDemandeurAContratLocationAccession _ ->
|
|
false)
|
|
(o_or
|
|
(match
|
|
(proprietaire_.Proprietaire.type_travaux_logement_r842_5)
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
true)
|
|
(match
|
|
(proprietaire_.Proprietaire.type_travaux_logement_r842_5)
|
|
with
|
|
| TypeTravauxLogementR8425.ObjectifDecenceLogement _ ->
|
|
true
|
|
| TypeTravauxLogementR8425.PrevuDansListeR321_15 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.AgrandirOuRendreHabitableD331_63 _ ->
|
|
false
|
|
| TypeTravauxLogementR8425.PasDeTravaux _ ->
|
|
false)))
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false)))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4318; start_column=5;
|
|
end_line=4320; end_column=28;
|
|
law_headings=["Article R842-5";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ -> true
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
true
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
false
|
|
| ModeOccupation.SousLocataire _ -> true
|
|
| ModeOccupation.LocationAccession _ ->
|
|
true))) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=410; start_column=11;
|
|
end_line=410; end_column=40;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=410; start_column=11; end_line=410; end_column=40;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let eligibilite_commune_dot_menage_: Menage.t =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAllocationLogement"; "éligibilité_commune.ménage"]
|
|
(embed_menage)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=435; start_column=14;
|
|
end_line=435; end_column=40;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> menage_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=435; start_column=14; end_line=435; end_column=40;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let eligibilite_commune_dot_demandeur_: Demandeur.t =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAllocationLogement"; "éligibilité_commune.demandeur"]
|
|
(embed_demandeur)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=436; start_column=14;
|
|
end_line=436; end_column=43;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> demandeur_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=436; start_column=14; end_line=436; end_column=43;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let eligibilite_commune_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"éligibilité_commune.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=437; start_column=14;
|
|
end_line=437; end_column=47;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=437; start_column=14; end_line=437; end_column=47;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let eligibilite_commune_dot_condition_logement_residence_principale_:
|
|
unit -> bool = fun (_: unit) -> (log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"éligibilité_commune.condition_logement_résidence_principale"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4787; start_column=9;
|
|
end_line=4787; end_column=68;
|
|
law_headings=["Article R842-14";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
false
|
|
| ModeOccupation.ResidentLogementFoyer logement_foyer_ ->
|
|
(logement_foyer_.LogementFoyer.construit_application_loi_1957_12_III)
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
false
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false))) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))) in
|
|
let eligibilite_commune_dot_condition_logement_surface_: unit -> bool =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"éligibilité_commune.condition_logement_surface"] (embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=4788; start_column=9;
|
|
end_line=4788; end_column=55;
|
|
law_headings=["Article R842-14";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre 2 : Modalités de liquidation et de versement des allocations de logement";
|
|
"Titre IV : Allocations de Logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ -> false
|
|
| ModeOccupation.ResidentLogementFoyer logement_foyer_ ->
|
|
(logement_foyer_.LogementFoyer.construit_application_loi_1957_12_III)
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
false
|
|
| ModeOccupation.SousLocataire _ -> false
|
|
| ModeOccupation.LocationAccession _ -> false)))
|
|
(fun (_: unit) -> true))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))) in
|
|
let eligibilite_commune_dot_date_entree_vigueur_differee_cch_: unit -> date =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"éligibilité_commune.date_entrée_vigueur_différée_cch"]
|
|
(embed_date) (raise EmptyError)) in
|
|
let result_: EligibiliteAidesPersonnelleLogement.t = (log_end_call
|
|
["ÉligibilitéAllocationLogement"; "éligibilité_commune";
|
|
"ÉligibilitéAidesPersonnelleLogement"] ((log_begin_call
|
|
["ÉligibilitéAllocationLogement"; "éligibilité_commune";
|
|
"ÉligibilitéAidesPersonnelleLogement"]
|
|
eligibilite_aides_personnelle_logement)
|
|
({EligibiliteAidesPersonnelleLogementIn.menage_in =
|
|
eligibilite_commune_dot_menage_;
|
|
EligibiliteAidesPersonnelleLogementIn.demandeur_in =
|
|
eligibilite_commune_dot_demandeur_;
|
|
EligibiliteAidesPersonnelleLogementIn.date_courante_in =
|
|
eligibilite_commune_dot_date_courante_;
|
|
EligibiliteAidesPersonnelleLogementIn.condition_logement_residence_principale_in =
|
|
eligibilite_commune_dot_condition_logement_residence_principale_;
|
|
EligibiliteAidesPersonnelleLogementIn.condition_logement_surface_in =
|
|
eligibilite_commune_dot_condition_logement_surface_;
|
|
EligibiliteAidesPersonnelleLogementIn.date_entree_vigueur_differee_cch_in =
|
|
eligibilite_commune_dot_date_entree_vigueur_differee_cch_}))) in
|
|
let eligibilite_commune_dot_date_courante_: date = result_.EligibiliteAidesPersonnelleLogement.date_courante in
|
|
let eligibilite_commune_dot_eligibilite_: bool = result_.EligibiliteAidesPersonnelleLogement.eligibilite in
|
|
let eligibilite_commune_dot_nombre_personnes_a_charge_prises_en_compte_: integer = result_.EligibiliteAidesPersonnelleLogement.nombre_personnes_a_charge_prises_en_compte in
|
|
let eligibilite_commune_dot_coefficents_enfants_garde_alternee_pris_en_compte_:
|
|
decimal array = result_.EligibiliteAidesPersonnelleLogement.coefficents_enfants_garde_alternee_pris_en_compte in
|
|
let eligibilite_commune_dot_condition_2_r823_4_: PersonneACharge.t -> bool = result_.EligibiliteAidesPersonnelleLogement.condition_2_r823_4 in
|
|
let coefficents_enfants_garde_alternee_pris_en_compte_: decimal array = (log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"coefficents_enfants_garde_alternée_pris_en_compte"]
|
|
(embed_array (embed_decimal)) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=441; start_column=14;
|
|
end_line=441; end_column=63;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
eligibilite_commune_dot_coefficents_enfants_garde_alternee_pris_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=426; start_column=12; end_line=426; end_column=61;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let nombre_personnes_a_charge_prises_en_compte_: integer = (log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"nombre_personnes_à_charge_prises_en_compte"] (embed_integer) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=439; start_column=14;
|
|
end_line=439; end_column=56;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
eligibilite_commune_dot_nombre_personnes_a_charge_prises_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=425; start_column=12; end_line=425; end_column=54;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let eligibilite_dispositions_communes_: TypeEligibiliteAllocationLogement.t = (log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"éligibilité_dispositions_communes"]
|
|
(embed_type_eligibilite_allocation_logement) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=863; start_column=14;
|
|
end_line=863; end_column=25;
|
|
law_headings=["Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_or (o_not eligibilite_commune_dot_eligibilite_)
|
|
(o_not condition_accession_propriete_)) then
|
|
(TypeEligibiliteAllocationLogement.PasEligible ())
|
|
else
|
|
(TypeEligibiliteAllocationLogement.AllocationLogementSociale
|
|
())))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=423; start_column=10; end_line=423; end_column=31;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let eligibilite_allocation_logement_familiale_: bool = (log_variable_definition
|
|
["ÉligibilitéAllocationLogement";
|
|
"éligibilité_allocation_logement_familiale"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(
|
|
fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(
|
|
fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(
|
|
fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([|(
|
|
fun
|
|
(_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]}
|
|
([||])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1786;
|
|
start_column=5;
|
|
end_line=1786; end_column=66;
|
|
law_headings=
|
|
["Article L862-3";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
false
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
false
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
false)
|
|
(demandeur_.Demandeur.est_non_salarie_agricole_l781_8_l_781_46_code_rural))))
|
|
(fun
|
|
(_: unit) ->
|
|
true))|])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1752;
|
|
start_column=5;
|
|
end_line=1768; end_column=9;
|
|
law_headings=
|
|
["Article L862-3";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
false
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
false
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
false
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
true
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
false)
|
|
(o_gte_int_int
|
|
(o_length
|
|
(o_filter
|
|
(fun
|
|
(personne_a_charge_:
|
|
PersonneACharge.t) ->
|
|
match
|
|
personne_a_charge_
|
|
with
|
|
|
|
|
PersonneACharge.EnfantACharge enfant_ ->
|
|
((log_end_call
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"]
|
|
((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert";
|
|
"output"]
|
|
(embed_bool)
|
|
((log_begin_call
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"]
|
|
prestations_familiales_dot_droit_ouvert_)
|
|
((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert";
|
|
"input0"]
|
|
(embed_enfant_prestations_familiales)
|
|
({EnfantPrestationsFamiliales.identifiant =
|
|
(enfant_.EnfantACharge.identifiant);
|
|
EnfantPrestationsFamiliales.obligation_scolaire =
|
|
(enfant_.EnfantACharge.obligation_scolaire);
|
|
EnfantPrestationsFamiliales.remuneration_mensuelle =
|
|
(enfant_.EnfantACharge.remuneration_mensuelle);
|
|
EnfantPrestationsFamiliales.date_de_naissance =
|
|
(enfant_.EnfantACharge.date_de_naissance);
|
|
EnfantPrestationsFamiliales.a_deja_ouvert_droit_aux_allocations_familiales =
|
|
(enfant_.EnfantACharge.a_deja_ouvert_droit_aux_allocations_familiales);
|
|
EnfantPrestationsFamiliales.beneficie_titre_personnel_aide_personnelle_logement =
|
|
(enfant_.EnfantACharge.beneficie_titre_personnel_aide_personnelle_logement)}))))))))
|
|
|
|
|
PersonneACharge.AutrePersonneACharge _ ->
|
|
false)
|
|
(menage_.Menage.personnes_a_charge)))
|
|
(integer_of_string
|
|
"1")))))
|
|
(fun
|
|
(_: unit) ->
|
|
true))|])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1497;
|
|
start_column=5;
|
|
end_line=1497; end_column=66;
|
|
law_headings=
|
|
["Article L861-6";
|
|
"Section 4 : Allocations de logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
true
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
false
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true)
|
|
(demandeur_.Demandeur.est_non_salarie_agricole_l781_8_l_781_46_code_rural))))
|
|
(fun
|
|
(_: unit) ->
|
|
true))|])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1460;
|
|
start_column=5;
|
|
end_line=1476; end_column=9;
|
|
law_headings=
|
|
["Article L861-6";
|
|
"Section 4 : Allocations de logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
|
|
|
Collectivite.Guadeloupe _ ->
|
|
true
|
|
|
|
|
Collectivite.Guyane _ ->
|
|
true
|
|
|
|
|
Collectivite.Martinique _ ->
|
|
true
|
|
|
|
|
Collectivite.LaReunion _ ->
|
|
true
|
|
|
|
|
Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintMartin _ ->
|
|
false
|
|
|
|
|
Collectivite.Metropole _ ->
|
|
false
|
|
|
|
|
Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
|
|
|
Collectivite.Mayotte _ ->
|
|
true)
|
|
(o_gte_int_int
|
|
(o_length
|
|
(o_filter
|
|
(fun
|
|
(personne_a_charge_:
|
|
PersonneACharge.t) ->
|
|
match
|
|
personne_a_charge_
|
|
with
|
|
|
|
|
PersonneACharge.EnfantACharge enfant_ ->
|
|
((log_end_call
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"]
|
|
((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert";
|
|
"output"]
|
|
(embed_bool)
|
|
((log_begin_call
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"]
|
|
prestations_familiales_dot_droit_ouvert_)
|
|
((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert";
|
|
"input0"]
|
|
(embed_enfant_prestations_familiales)
|
|
({EnfantPrestationsFamiliales.identifiant =
|
|
(enfant_.EnfantACharge.identifiant);
|
|
EnfantPrestationsFamiliales.obligation_scolaire =
|
|
(enfant_.EnfantACharge.obligation_scolaire);
|
|
EnfantPrestationsFamiliales.remuneration_mensuelle =
|
|
(enfant_.EnfantACharge.remuneration_mensuelle);
|
|
EnfantPrestationsFamiliales.date_de_naissance =
|
|
(enfant_.EnfantACharge.date_de_naissance);
|
|
EnfantPrestationsFamiliales.a_deja_ouvert_droit_aux_allocations_familiales =
|
|
(enfant_.EnfantACharge.a_deja_ouvert_droit_aux_allocations_familiales);
|
|
EnfantPrestationsFamiliales.beneficie_titre_personnel_aide_personnelle_logement =
|
|
(enfant_.EnfantACharge.beneficie_titre_personnel_aide_personnelle_logement)}))))))))
|
|
|
|
|
PersonneACharge.AutrePersonneACharge _ ->
|
|
false)
|
|
(menage_.Menage.personnes_a_charge)))
|
|
(integer_of_string
|
|
"1")))))
|
|
(fun
|
|
(_: unit) ->
|
|
true))|])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1023;
|
|
start_column=5;
|
|
end_line=1028; end_column=29;
|
|
law_headings=
|
|
["Article L841-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
l_841_1_6_applicable_
|
|
(match
|
|
(menage_.Menage.situation_familiale)
|
|
with
|
|
|
|
|
SituationFamiliale.Celibataire _ ->
|
|
(o_and
|
|
(o_eq
|
|
(o_length
|
|
(menage_.Menage.personnes_a_charge))
|
|
(integer_of_string
|
|
"0"))
|
|
(menage_.Menage.enfant_a_naitre_apres_quatrieme_mois_grossesse))
|
|
|
|
|
SituationFamiliale.Maries _ ->
|
|
false
|
|
|
|
|
SituationFamiliale.Pacses _ ->
|
|
false
|
|
|
|
|
SituationFamiliale.Concubins _ ->
|
|
false
|
|
|
|
|
SituationFamiliale.CelibataireSepareDeFait _ ->
|
|
false
|
|
|
|
|
SituationFamiliale.ConcubinageDontSepareDeFait _ ->
|
|
false))))
|
|
(fun
|
|
(_: unit) ->
|
|
true))|])
|
|
(fun
|
|
(_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=998;
|
|
start_column=5;
|
|
end_line=1009; end_column=13;
|
|
law_headings=
|
|
["Article L841-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_gte_int_int
|
|
(
|
|
o_length
|
|
(o_filter
|
|
(fun
|
|
(personne_a_charge_:
|
|
PersonneACharge.t) ->
|
|
match
|
|
personne_a_charge_
|
|
with
|
|
|
|
|
PersonneACharge.EnfantACharge enfant_ ->
|
|
false
|
|
|
|
|
PersonneACharge.AutrePersonneACharge parent_ ->
|
|
(o_and
|
|
(parent_.AutrePersonneACharge.ascendant_descendant_collateral_deuxieme_troisieme_degre)
|
|
(parent_.AutrePersonneACharge.incapacite_80_pourcent_ou_restriction_emploi)))
|
|
(menage_.Menage.personnes_a_charge)))
|
|
(integer_of_string
|
|
"1"))))
|
|
(fun
|
|
(_: unit) ->
|
|
true))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=980;
|
|
start_column=5;
|
|
end_line=982; end_column=9;
|
|
law_headings=
|
|
["Article L841-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_gte_int_int
|
|
(o_length
|
|
(o_filter
|
|
(fun
|
|
(personne_a_charge_:
|
|
PersonneACharge.t) ->
|
|
(log_end_call
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_2_r823_4"]
|
|
((log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_2_r823_4";
|
|
"output"]
|
|
(embed_bool)
|
|
((log_begin_call
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_2_r823_4"]
|
|
eligibilite_commune_dot_condition_2_r823_4_)
|
|
((log_variable_definition
|
|
["ÉligibilitéAidesPersonnelleLogement";
|
|
"condition_2_r823_4";
|
|
"input0"]
|
|
(embed_personne_a_charge)
|
|
personne_a_charge_)))))))
|
|
(menage_.Menage.personnes_a_charge)))
|
|
(integer_of_string
|
|
"1"))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=945;
|
|
start_column=5;
|
|
end_line=966; end_column=29;
|
|
law_headings=["Article L841-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(o_eq
|
|
(o_length
|
|
(o_filter
|
|
(fun
|
|
(personne_a_charge_:
|
|
PersonneACharge.t) ->
|
|
match
|
|
personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
(
|
|
o_not
|
|
((log_end_call
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"]
|
|
((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert";
|
|
"output"]
|
|
(embed_bool)
|
|
((log_begin_call
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"]
|
|
prestations_familiales_dot_droit_ouvert_)
|
|
((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert";
|
|
"input0"]
|
|
(embed_enfant_prestations_familiales)
|
|
({EnfantPrestationsFamiliales.identifiant =
|
|
(enfant_.EnfantACharge.identifiant);
|
|
EnfantPrestationsFamiliales.obligation_scolaire =
|
|
(enfant_.EnfantACharge.obligation_scolaire);
|
|
EnfantPrestationsFamiliales.remuneration_mensuelle =
|
|
(enfant_.EnfantACharge.remuneration_mensuelle);
|
|
EnfantPrestationsFamiliales.date_de_naissance =
|
|
(enfant_.EnfantACharge.date_de_naissance);
|
|
EnfantPrestationsFamiliales.a_deja_ouvert_droit_aux_allocations_familiales =
|
|
(enfant_.EnfantACharge.a_deja_ouvert_droit_aux_allocations_familiales);
|
|
EnfantPrestationsFamiliales.beneficie_titre_personnel_aide_personnelle_logement =
|
|
(enfant_.EnfantACharge.beneficie_titre_personnel_aide_personnelle_logement)})))))))))
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
false)
|
|
(menage_.Menage.personnes_a_charge)))
|
|
(integer_of_string
|
|
"0"))
|
|
(match
|
|
(menage_.Menage.situation_familiale)
|
|
with
|
|
| SituationFamiliale.Celibataire _ ->
|
|
false
|
|
| SituationFamiliale.Maries date_mariage_ ->
|
|
(o_lte_dat_dat
|
|
date_courante_
|
|
(o_add_dat_dur AbortOnRound
|
|
date_mariage_
|
|
duree_l841_1_3_))
|
|
| SituationFamiliale.Pacses _ ->
|
|
false
|
|
| SituationFamiliale.Concubins _ ->
|
|
false
|
|
| SituationFamiliale.CelibataireSepareDeFait _ ->
|
|
false
|
|
| SituationFamiliale.ConcubinageDontSepareDeFait _ ->
|
|
false))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=917; start_column=5;
|
|
end_line=934; end_column=8;
|
|
law_headings=["Article L841-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and l_841_1_2_applicable_
|
|
(o_eq
|
|
(o_length
|
|
(o_filter
|
|
(fun
|
|
(personne_a_charge_:
|
|
PersonneACharge.t) ->
|
|
match
|
|
personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
((log_end_call
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"]
|
|
((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert";
|
|
"output"]
|
|
(embed_bool)
|
|
((log_begin_call
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert"]
|
|
prestations_familiales_dot_droit_ouvert_)
|
|
((log_variable_definition
|
|
["ÉligibilitéPrestationsFamiliales";
|
|
"droit_ouvert";
|
|
"input0"]
|
|
(embed_enfant_prestations_familiales)
|
|
({EnfantPrestationsFamiliales.identifiant =
|
|
(enfant_.EnfantACharge.identifiant);
|
|
EnfantPrestationsFamiliales.obligation_scolaire =
|
|
(enfant_.EnfantACharge.obligation_scolaire);
|
|
EnfantPrestationsFamiliales.remuneration_mensuelle =
|
|
(enfant_.EnfantACharge.remuneration_mensuelle);
|
|
EnfantPrestationsFamiliales.date_de_naissance =
|
|
(enfant_.EnfantACharge.date_de_naissance);
|
|
EnfantPrestationsFamiliales.a_deja_ouvert_droit_aux_allocations_familiales =
|
|
(enfant_.EnfantACharge.a_deja_ouvert_droit_aux_allocations_familiales);
|
|
EnfantPrestationsFamiliales.beneficie_titre_personnel_aide_personnelle_logement =
|
|
(enfant_.EnfantACharge.beneficie_titre_personnel_aide_personnelle_logement)}))))))))
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
false)
|
|
(menage_.Menage.personnes_a_charge)))
|
|
(integer_of_string "1")))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=895; start_column=5;
|
|
end_line=901; end_column=6;
|
|
law_headings=["Article L841-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and l_841_1_1_applicable_
|
|
(o_fold
|
|
(fun (acc_: bool)
|
|
(prestation_: PrestationRecue.t) ->
|
|
o_or acc_
|
|
(o_or
|
|
(o_eq prestation_
|
|
(PrestationRecue.AllocationsFamiliales
|
|
()))
|
|
(o_or
|
|
(o_eq prestation_
|
|
(PrestationRecue.ComplementFamilial
|
|
()))
|
|
(o_or
|
|
(o_eq prestation_
|
|
(PrestationRecue.AllocationSoutienFamilial
|
|
()))
|
|
(o_eq prestation_
|
|
(PrestationRecue.AllocationSoutienEnfantHandicape
|
|
())))))) false
|
|
(menage_.Menage.prestations_recues)))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=415; start_column=11;
|
|
end_line=415; end_column=52;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=415; start_column=11; end_line=415; end_column=52;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let eligibilite_l841_2_: TypeEligibiliteAllocationLogement.t = (log_variable_definition
|
|
["ÉligibilitéAllocationLogement"; "éligibilité_l841_2"]
|
|
(embed_type_eligibilite_allocation_logement) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1607;
|
|
start_column=5;
|
|
end_line=1608; end_column=79;
|
|
law_headings=["Article L861-8";
|
|
"Section 4 : Allocations de logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match
|
|
(menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ ->
|
|
false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ ->
|
|
false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ ->
|
|
true)
|
|
(demandeur_.Demandeur.magistrat_fonctionnaire_centre_interets_materiels_familiaux_hors_mayotte))))
|
|
(fun (_: unit) ->
|
|
TypeEligibiliteAllocationLogement.PasEligible
|
|
()))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1573; start_column=5;
|
|
end_line=1582; end_column=28;
|
|
law_headings=["Article L861-6";
|
|
"Section 4 : Allocations de logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> true
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
false
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation proprietaire_ ->
|
|
(o_or
|
|
(o_gt_dat_dat
|
|
((proprietaire_.Proprietaire.pret).Pret.date_signature)
|
|
(date_of_numbers (2017) (12) (31)))
|
|
(o_and
|
|
(o_gt_dat_dat
|
|
((proprietaire_.Proprietaire.pret).Pret.date_signature)
|
|
(date_of_numbers (2019) (12) (31)))
|
|
(match
|
|
((proprietaire_.Proprietaire.pret).Pret.accord_financement_representant_Etat_outre_mer)
|
|
with
|
|
| AccordFinancementRepresentantEtatOutreMer.Accord date_accord_ ->
|
|
(o_lte_dat_dat
|
|
date_accord_
|
|
(date_of_numbers (2018) (12) (31)))
|
|
| AccordFinancementRepresentantEtatOutreMer.PasdAccord _ ->
|
|
false)))
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false))))
|
|
(fun (_: unit) ->
|
|
TypeEligibiliteAllocationLogement.PasEligible
|
|
()))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1155; start_column=5;
|
|
end_line=1155; end_column=73;
|
|
law_headings=["Article L841-3";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(demandeur_.Demandeur.personne_hebergee_centre_soin_l_L162_22_3_securite_sociale)))
|
|
(fun (_: unit) ->
|
|
TypeEligibiliteAllocationLogement.AllocationLogementSociale
|
|
()))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1169; start_column=5;
|
|
end_line=1172; end_column=28;
|
|
law_headings=["Article L841-4";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ -> false
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation proprietaire_ ->
|
|
(o_gt_dat_dat
|
|
((proprietaire_.Proprietaire.pret).Pret.date_signature)
|
|
(date_of_numbers (2017) (12) (31)))
|
|
| ModeOccupation.SousLocataire _ -> false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false)))
|
|
(fun (_: unit) ->
|
|
TypeEligibiliteAllocationLogement.PasEligible
|
|
()))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1055; start_column=29;
|
|
end_line=1055; end_column=40;
|
|
law_headings=["Article L841-2";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if
|
|
(o_or
|
|
(o_eq eligibilite_dispositions_communes_
|
|
(TypeEligibiliteAllocationLogement.PasEligible
|
|
()))
|
|
beneficie_aide_personnalisee_logement_) then
|
|
(TypeEligibiliteAllocationLogement.PasEligible ())
|
|
else
|
|
( if eligibilite_allocation_logement_familiale_
|
|
then
|
|
(TypeEligibiliteAllocationLogement.AllocationLogementFamiliale
|
|
()) else
|
|
(TypeEligibiliteAllocationLogement.AllocationLogementSociale
|
|
()))))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=424; start_column=10; end_line=424; end_column=16;
|
|
law_headings=["Éligibilité aux allocations de logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
{EligibiliteAllocationLogement.eligibilite = eligibilite_l841_2_;
|
|
EligibiliteAllocationLogement.nombre_personnes_a_charge_prises_en_compte =
|
|
nombre_personnes_a_charge_prises_en_compte_;
|
|
EligibiliteAllocationLogement.coefficents_enfants_garde_alternee_pris_en_compte =
|
|
coefficents_enfants_garde_alternee_pris_en_compte_}
|
|
|
|
let eligibilite_aide_personnalisee_logement (eligibilite_aide_personnalisee_logement_in: EligibiliteAidePersonnaliseeLogementIn.t) : EligibiliteAidePersonnaliseeLogement.t =
|
|
let menage_: Menage.t = eligibilite_aide_personnalisee_logement_in.EligibiliteAidePersonnaliseeLogementIn.menage_in in
|
|
let demandeur_: Demandeur.t = eligibilite_aide_personnalisee_logement_in.EligibiliteAidePersonnaliseeLogementIn.demandeur_in in
|
|
let date_courante_: date = eligibilite_aide_personnalisee_logement_in.EligibiliteAidePersonnaliseeLogementIn.date_courante_in in
|
|
let caracteristiques_pret_l831_1_1_: Pret.t -> bool = (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"caractéristiques_prêt_l831_1_1"] (unembeddable)
|
|
(fun (pret_: Pret.t) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2993;
|
|
start_column=5;
|
|
end_line=2996; end_column=41;
|
|
law_headings=["Article R832-7";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match
|
|
(pret_.Pret.titulaire_pret)
|
|
with
|
|
| TitulairePret.Demandeur _ ->
|
|
false
|
|
| TitulairePret.VendeurQuandDemandeurAContratLocationAccession _ ->
|
|
true)
|
|
(o_or
|
|
(match
|
|
(pret_.Pret.type_pret)
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
false
|
|
| TypePret.D331_59_8 _ ->
|
|
true
|
|
| TypePret.D331_76_1 _ ->
|
|
false
|
|
| TypePret.Autre _ ->
|
|
false)
|
|
(match
|
|
(pret_.Pret.type_pret)
|
|
with
|
|
| TypePret.D331_32 _ ->
|
|
false
|
|
| TypePret.D331_63_64 _ ->
|
|
false
|
|
| TypePret.D331_59_8 _ ->
|
|
false
|
|
| TypePret.D331_76_1 _ ->
|
|
true
|
|
| TypePret.Autre _ ->
|
|
false)))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=2958; start_column=5;
|
|
end_line=2960; end_column=42;
|
|
law_headings=["Article R832-5";
|
|
"Section 2 : Accession à la propriété";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match (pret_.Pret.titulaire_pret)
|
|
with
|
|
| TitulairePret.Demandeur _ -> true
|
|
| TitulairePret.VendeurQuandDemandeurAContratLocationAccession _ ->
|
|
false)
|
|
(o_or
|
|
(match (pret_.Pret.type_pret)
|
|
with
|
|
| TypePret.D331_32 _ -> true
|
|
| TypePret.D331_63_64 _ -> false
|
|
| TypePret.D331_59_8 _ -> false
|
|
| TypePret.D331_76_1 _ -> false
|
|
| TypePret.Autre _ -> false)
|
|
(match (pret_.Pret.type_pret)
|
|
with
|
|
| TypePret.D331_32 _ -> false
|
|
| TypePret.D331_63_64 _ -> true
|
|
| TypePret.D331_59_8 _ -> false
|
|
| TypePret.D331_76_1 _ -> false
|
|
| TypePret.Autre _ -> false)))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=370; start_column=11;
|
|
end_line=370; end_column=41;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=370; start_column=11; end_line=370; end_column=41;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let caracteristiques_pret_l831_1_6_: Pret.t -> bool = (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"caractéristiques_prêt_l831_1_6"] (unembeddable)
|
|
(fun (pret_: Pret.t) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=371; start_column=11;
|
|
end_line=371; end_column=41;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=371; start_column=11; end_line=371; end_column=41;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let eligibilite_commune_dot_menage_: Menage.t =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"éligibilité_commune.ménage"] (embed_menage)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=382; start_column=14;
|
|
end_line=382; end_column=40;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> menage_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=382; start_column=14; end_line=382; end_column=40;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let eligibilite_commune_dot_demandeur_: Demandeur.t =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"éligibilité_commune.demandeur"] (embed_demandeur)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=383; start_column=14;
|
|
end_line=383; end_column=43;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> demandeur_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=383; start_column=14; end_line=383; end_column=43;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let eligibilite_commune_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"éligibilité_commune.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=384; start_column=14;
|
|
end_line=384; end_column=47;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=384; start_column=14; end_line=384; end_column=47;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})) in
|
|
let eligibilite_commune_dot_condition_logement_residence_principale_:
|
|
unit -> bool = fun (_: unit) -> (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"éligibilité_commune.condition_logement_résidence_principale"]
|
|
(embed_bool) (raise EmptyError)) in
|
|
let eligibilite_commune_dot_condition_logement_surface_: unit -> bool =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"éligibilité_commune.condition_logement_surface"] (embed_bool)
|
|
(raise EmptyError)) in
|
|
let eligibilite_commune_dot_date_entree_vigueur_differee_cch_: unit -> date =
|
|
fun (_: unit) -> (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"éligibilité_commune.date_entrée_vigueur_différée_cch"]
|
|
(embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=5475; start_column=5;
|
|
end_line=5476; end_column=53;
|
|
law_headings=["Article R861-5";
|
|
"Capitre I : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Disposition particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ -> false
|
|
| ModeOccupation.ResidentLogementFoyer _ -> false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
true
|
|
| ModeOccupation.SousLocataire _ -> false
|
|
| ModeOccupation.LocationAccession _ -> false)))
|
|
(fun (_: unit) -> date_of_numbers (2021) (5) (1)))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))) in
|
|
let result_: EligibiliteAidesPersonnelleLogement.t = (log_end_call
|
|
["ÉligibilitéAidePersonnaliséeLogement"; "éligibilité_commune";
|
|
"ÉligibilitéAidesPersonnelleLogement"] ((log_begin_call
|
|
["ÉligibilitéAidePersonnaliséeLogement"; "éligibilité_commune";
|
|
"ÉligibilitéAidesPersonnelleLogement"]
|
|
eligibilite_aides_personnelle_logement)
|
|
({EligibiliteAidesPersonnelleLogementIn.menage_in =
|
|
eligibilite_commune_dot_menage_;
|
|
EligibiliteAidesPersonnelleLogementIn.demandeur_in =
|
|
eligibilite_commune_dot_demandeur_;
|
|
EligibiliteAidesPersonnelleLogementIn.date_courante_in =
|
|
eligibilite_commune_dot_date_courante_;
|
|
EligibiliteAidesPersonnelleLogementIn.condition_logement_residence_principale_in =
|
|
eligibilite_commune_dot_condition_logement_residence_principale_;
|
|
EligibiliteAidesPersonnelleLogementIn.condition_logement_surface_in =
|
|
eligibilite_commune_dot_condition_logement_surface_;
|
|
EligibiliteAidesPersonnelleLogementIn.date_entree_vigueur_differee_cch_in =
|
|
eligibilite_commune_dot_date_entree_vigueur_differee_cch_}))) in
|
|
let eligibilite_commune_dot_date_courante_: date = result_.EligibiliteAidesPersonnelleLogement.date_courante in
|
|
let eligibilite_commune_dot_eligibilite_: bool = result_.EligibiliteAidesPersonnelleLogement.eligibilite in
|
|
let eligibilite_commune_dot_nombre_personnes_a_charge_prises_en_compte_: integer = result_.EligibiliteAidesPersonnelleLogement.nombre_personnes_a_charge_prises_en_compte in
|
|
let eligibilite_commune_dot_coefficents_enfants_garde_alternee_pris_en_compte_:
|
|
decimal array = result_.EligibiliteAidesPersonnelleLogement.coefficents_enfants_garde_alternee_pris_en_compte in
|
|
let eligibilite_commune_dot_condition_2_r823_4_: PersonneACharge.t -> bool = result_.EligibiliteAidesPersonnelleLogement.condition_2_r823_4 in
|
|
let logement_situe_commune_desequilibre_l831_2_: bool = (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"logement_situé_commune_déséquilibre_l831_2"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/arrete_2019-09-27.catala_fr";
|
|
start_line=4658; start_column=6;
|
|
end_line=4658; end_column=43;
|
|
law_headings=["Article 49";
|
|
"Chapitre XI : Dispositions communes";
|
|
"Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2019) (10) (1)))
|
|
(match
|
|
((menage_.Menage.logement).Logement.zone)
|
|
with
|
|
| ZoneDHabitation.Zone1 _ -> false
|
|
| ZoneDHabitation.Zone2 _ -> false
|
|
| ZoneDHabitation.Zone3 _ -> true))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=367; start_column=11;
|
|
end_line=367; end_column=53;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=367; start_column=11; end_line=367; end_column=53;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_logement_bailleur_: bool = (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"condition_logement_bailleur"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1393; start_column=5;
|
|
end_line=1396; end_column=30;
|
|
law_headings=["Article L861-5-1";
|
|
"Section 3 : Aide personnalisée au logement";
|
|
"Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
true
|
|
| Collectivite.Guyane _ -> true
|
|
| Collectivite.Martinique _ ->
|
|
true
|
|
| Collectivite.LaReunion _ ->
|
|
true
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
false
|
|
| Collectivite.Mayotte _ -> true)
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
false
|
|
| ModeOccupation.ResidentLogementFoyer location_ ->
|
|
(location_.LogementFoyer.conventionne_selon_regles_drom)
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
false
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=707; start_column=5;
|
|
end_line=710; end_column=30;
|
|
law_headings=["Article L831-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ -> false
|
|
| ModeOccupation.ResidentLogementFoyer location_ ->
|
|
(location_.LogementFoyer.conventionne_livre_III_titre_V_chap_III)
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
false
|
|
| ModeOccupation.SousLocataire _ -> false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false))) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)));
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = "";
|
|
start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_reglementaire.catala_fr";
|
|
start_line=3665;
|
|
start_column=5;
|
|
end_line=3670; end_column=30;
|
|
law_headings=
|
|
["Article R832-21";
|
|
"Sous-Section 1 : Conditions d'assimilation des logements-foyers aux logements à usage locatif";
|
|
"Section 3 : Logements-foyers";
|
|
"Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie réglementaire";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
false
|
|
| ModeOccupation.ResidentLogementFoyer logement_foyer_ ->
|
|
(logement_foyer_.LogementFoyer.remplit_conditions_r832_21)
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
false
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false)))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=724;
|
|
start_column=5;
|
|
end_line=727; end_column=30;
|
|
law_headings=["Article L831-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
false
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
false
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession propriete_ ->
|
|
((log_end_call
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"caractéristiques_prêt_l831_1_6"]
|
|
((log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"caractéristiques_prêt_l831_1_6";
|
|
"output"]
|
|
(embed_bool)
|
|
((log_begin_call
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"caractéristiques_prêt_l831_1_6"]
|
|
caracteristiques_pret_l831_1_6_)
|
|
((log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"caractéristiques_prêt_l831_1_6";
|
|
"input0"]
|
|
(embed_pret)
|
|
(propriete_.Proprietaire.pret)))))))))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=663; start_column=5;
|
|
end_line=672; end_column=30;
|
|
law_headings=["Article L831-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire location_ ->
|
|
(match
|
|
(location_.Location.bailleur)
|
|
with
|
|
| TypeBailleur.BailleurSocial convention_ ->
|
|
(convention_.ConventionBailleurSocial.conventionne_livre_III_titre_V_chap_III)
|
|
| TypeBailleur.BailleurPriveAvecConventionnementSocial convention_ ->
|
|
(convention_.ConventionANHA.conventionne_livre_III_titre_II_chap_I_sec_3)
|
|
| TypeBailleur.BailleurPrive _ ->
|
|
false)
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation _ ->
|
|
false
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false)))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=642; start_column=5;
|
|
end_line=645; end_column=30;
|
|
law_headings=["Article L831-1";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ -> false
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation propriete_ ->
|
|
((log_end_call
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"caractéristiques_prêt_l831_1_1"]
|
|
((log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"caractéristiques_prêt_l831_1_1";
|
|
"output"] (embed_bool)
|
|
((log_begin_call
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"caractéristiques_prêt_l831_1_1"]
|
|
caracteristiques_pret_l831_1_1_)
|
|
((log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"caractéristiques_prêt_l831_1_1";
|
|
"input0"] (embed_pret)
|
|
(propriete_.Proprietaire.pret))))))))
|
|
| ModeOccupation.SousLocataire _ -> false
|
|
| ModeOccupation.LocationAccession _ ->
|
|
false))) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=368; start_column=11;
|
|
end_line=368; end_column=38;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=368; start_column=11; end_line=368; end_column=38;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficents_enfants_garde_alternee_pris_en_compte_: decimal array = (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"coefficents_enfants_garde_alternée_pris_en_compte"]
|
|
(embed_array (embed_decimal)) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=388; start_column=14;
|
|
end_line=388; end_column=63;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
eligibilite_commune_dot_coefficents_enfants_garde_alternee_pris_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=377; start_column=12; end_line=377; end_column=61;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let nombre_personnes_a_charge_prises_en_compte_: integer = (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement";
|
|
"nombre_personnes_à_charge_prises_en_compte"] (embed_integer) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=386; start_column=14;
|
|
end_line=386; end_column=56;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
eligibilite_commune_dot_nombre_personnes_a_charge_prises_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=376; start_column=12; end_line=376; end_column=54;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let condition_logement_pret_: bool = (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement"; "condition_logement_prêt"]
|
|
(embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1; end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) ->
|
|
(log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=763;
|
|
start_column=5;
|
|
end_line=776; end_column=30;
|
|
law_headings=["Article L831-2";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
false
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation propriete_ ->
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
((propriete_.Proprietaire.pret).Pret.date_signature)
|
|
(date_of_numbers (2018) (1) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
((propriete_.Proprietaire.pret).Pret.date_signature)
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(match
|
|
(propriete_.Proprietaire.anciennete_logement)
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
logement_situe_commune_desequilibre_l831_2_)))
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession propriete_ ->
|
|
(o_and
|
|
(o_gte_dat_dat
|
|
((propriete_.Proprietaire.pret).Pret.date_signature)
|
|
(date_of_numbers (2018) (1) (1)))
|
|
(o_and
|
|
(o_lt_dat_dat
|
|
((propriete_.Proprietaire.pret).Pret.date_signature)
|
|
(date_of_numbers (2020) (1) (1)))
|
|
(o_and
|
|
(match
|
|
(propriete_.Proprietaire.anciennete_logement)
|
|
with
|
|
| NeufOuAncien.Neuf _ ->
|
|
false
|
|
| NeufOuAncien.Ancien _ ->
|
|
true)
|
|
logement_situe_commune_desequilibre_l831_2_))))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=744; start_column=5;
|
|
end_line=749; end_column=30;
|
|
law_headings=["Article L831-2";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(match
|
|
((menage_.Menage.logement).Logement.mode_occupation)
|
|
with
|
|
| ModeOccupation.Locataire _ ->
|
|
false
|
|
| ModeOccupation.ResidentLogementFoyer _ ->
|
|
false
|
|
| ModeOccupation.AccessionProprieteLocalUsageExclusifHabitation propriete_ ->
|
|
(o_gte_dat_dat
|
|
((propriete_.Proprietaire.pret).Pret.date_signature)
|
|
(date_of_numbers (2017) (12) (31)))
|
|
| ModeOccupation.SousLocataire _ ->
|
|
false
|
|
| ModeOccupation.LocationAccession propriete_ ->
|
|
(o_gte_dat_dat
|
|
((propriete_.Proprietaire.pret).Pret.date_signature)
|
|
(date_of_numbers (2017) (12) (31))))))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=739; start_column=31;
|
|
end_line=739; end_column=54;
|
|
law_headings=["Article L831-2";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=369; start_column=11;
|
|
end_line=369; end_column=34;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=369; start_column=11; end_line=369; end_column=34;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
let eligibilite_: bool = (log_variable_definition
|
|
["ÉligibilitéAidePersonnaliséeLogement"; "éligibilité"] (embed_bool)
|
|
(
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||]) (fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0;
|
|
start_column=1;
|
|
end_line=0; end_column=1;
|
|
law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1252; start_column=5;
|
|
end_line=1253; end_column=54;
|
|
law_headings=["Article L860-3";
|
|
"Titre VI : Dispositions particulières à l'outre-mer";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and
|
|
(o_gte_dat_dat date_courante_
|
|
(date_of_numbers (2021) (1) (1)))
|
|
(match (menage_.Menage.residence)
|
|
with
|
|
| Collectivite.Guadeloupe _ ->
|
|
false
|
|
| Collectivite.Guyane _ -> false
|
|
| Collectivite.Martinique _ ->
|
|
false
|
|
| Collectivite.LaReunion _ ->
|
|
false
|
|
| Collectivite.SaintBarthelemy _ ->
|
|
false
|
|
| Collectivite.SaintMartin _ ->
|
|
false
|
|
| Collectivite.Metropole _ ->
|
|
false
|
|
| Collectivite.SaintPierreEtMiquelon _ ->
|
|
true
|
|
| Collectivite.Mayotte _ ->
|
|
false))))
|
|
(fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=
|
|
[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=613; start_column=5;
|
|
end_line=615; end_column=36;
|
|
law_headings=["Chapitre Ier : Champ d'application";
|
|
"Titre III : Aide personnalisée au logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
(o_and condition_logement_bailleur_
|
|
(o_and condition_logement_pret_
|
|
eligibilite_commune_dot_eligibilite_))))
|
|
(fun (_: unit) -> true))|])
|
|
(fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))|])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=375; start_column=12;
|
|
end_line=375; end_column=23;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=375; start_column=12; end_line=375; end_column=23;
|
|
law_headings=["Éligibilité à l'aide personnalisée au logement";
|
|
"Déclarations des champs d'application";
|
|
"Prologue : aides au logement"]})))) in
|
|
{EligibiliteAidePersonnaliseeLogement.date_courante = date_courante_;
|
|
EligibiliteAidePersonnaliseeLogement.eligibilite = eligibilite_;
|
|
EligibiliteAidePersonnaliseeLogement.nombre_personnes_a_charge_prises_en_compte =
|
|
nombre_personnes_a_charge_prises_en_compte_;
|
|
EligibiliteAidePersonnaliseeLogement.coefficents_enfants_garde_alternee_pris_en_compte =
|
|
coefficents_enfants_garde_alternee_pris_en_compte_}
|
|
|
|
let calculette_aides_au_logement (calculette_aides_au_logement_in: CalculetteAidesAuLogementIn.t) : CalculetteAidesAuLogement.t =
|
|
let menage_: Menage.t = calculette_aides_au_logement_in.CalculetteAidesAuLogementIn.menage_in in
|
|
let demandeur_: Demandeur.t = calculette_aides_au_logement_in.CalculetteAidesAuLogementIn.demandeur_in in
|
|
let date_courante_: date = calculette_aides_au_logement_in.CalculetteAidesAuLogementIn.date_courante_in in
|
|
let ressources_menage_prises_en_compte_: money = calculette_aides_au_logement_in.CalculetteAidesAuLogementIn.ressources_menage_prises_en_compte_in in
|
|
let eligibilite_allocation_logement_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"éligibilité_allocation_logement.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1082; start_column=14;
|
|
end_line=1082; end_column=59;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1082; start_column=14; end_line=1082; end_column=59;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let eligibilite_allocation_logement_dot_menage_: Menage.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"éligibilité_allocation_logement.ménage"] (embed_menage)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1074; start_column=14;
|
|
end_line=1074; end_column=52;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> menage_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1074; start_column=14; end_line=1074; end_column=52;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let eligibilite_allocation_logement_dot_demandeur_: Demandeur.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"éligibilité_allocation_logement.demandeur"] (embed_demandeur)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1078; start_column=14;
|
|
end_line=1078; end_column=55;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> demandeur_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1078; start_column=14; end_line=1078; end_column=55;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let eligibilite_allocation_logement_dot_beneficie_aide_personnalisee_logement_: bool =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"éligibilité_allocation_logement.bénéficie_aide_personnalisée_logement"]
|
|
(embed_bool)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1071; start_column=5;
|
|
end_line=1071; end_column=74;
|
|
law_headings=["Article L841-2";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true)) (fun (_: unit) -> false))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1071; start_column=5; end_line=1071; end_column=74;
|
|
law_headings=["Article L841-2"; "Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let result_: EligibiliteAllocationLogement.t = (log_end_call
|
|
["CalculetteAidesAuLogement"; "éligibilité_allocation_logement";
|
|
"ÉligibilitéAllocationLogement"] ((log_begin_call
|
|
["CalculetteAidesAuLogement"; "éligibilité_allocation_logement";
|
|
"ÉligibilitéAllocationLogement"] eligibilite_allocation_logement)
|
|
({EligibiliteAllocationLogementIn.date_courante_in =
|
|
eligibilite_allocation_logement_dot_date_courante_;
|
|
EligibiliteAllocationLogementIn.menage_in =
|
|
eligibilite_allocation_logement_dot_menage_;
|
|
EligibiliteAllocationLogementIn.demandeur_in =
|
|
eligibilite_allocation_logement_dot_demandeur_;
|
|
EligibiliteAllocationLogementIn.beneficie_aide_personnalisee_logement_in =
|
|
eligibilite_allocation_logement_dot_beneficie_aide_personnalisee_logement_}))) in
|
|
let eligibilite_allocation_logement_dot_eligibilite_l841_2_: TypeEligibiliteAllocationLogement.t = result_.EligibiliteAllocationLogement.eligibilite in
|
|
let eligibilite_allocation_logement_dot_nombre_personnes_a_charge_prises_en_compte_: integer = result_.EligibiliteAllocationLogement.nombre_personnes_a_charge_prises_en_compte in
|
|
let eligibilite_allocation_logement_dot_coefficents_enfants_garde_alternee_pris_en_compte_:
|
|
decimal array = result_.EligibiliteAllocationLogement.coefficents_enfants_garde_alternee_pris_en_compte in
|
|
let eligibilite_aide_personnalisee_logement_dot_menage_: Menage.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"éligibilité_aide_personnalisée_logement.ménage"] (embed_menage)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1072; start_column=14;
|
|
end_line=1072; end_column=60;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> menage_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1072; start_column=14; end_line=1072; end_column=60;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let eligibilite_aide_personnalisee_logement_dot_demandeur_: Demandeur.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"éligibilité_aide_personnalisée_logement.demandeur"]
|
|
(embed_demandeur)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1076; start_column=14;
|
|
end_line=1076; end_column=63;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> demandeur_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1076; start_column=14; end_line=1076; end_column=63;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let eligibilite_aide_personnalisee_logement_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"éligibilité_aide_personnalisée_logement.date_courante"]
|
|
(embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1080; start_column=14;
|
|
end_line=1080; end_column=67;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1080; start_column=14; end_line=1080; end_column=67;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let result_: EligibiliteAidePersonnaliseeLogement.t = (log_end_call
|
|
["CalculetteAidesAuLogement";
|
|
"éligibilité_aide_personnalisée_logement";
|
|
"ÉligibilitéAidePersonnaliséeLogement"] ((log_begin_call
|
|
["CalculetteAidesAuLogement";
|
|
"éligibilité_aide_personnalisée_logement";
|
|
"ÉligibilitéAidePersonnaliséeLogement"]
|
|
eligibilite_aide_personnalisee_logement)
|
|
({EligibiliteAidePersonnaliseeLogementIn.menage_in =
|
|
eligibilite_aide_personnalisee_logement_dot_menage_;
|
|
EligibiliteAidePersonnaliseeLogementIn.demandeur_in =
|
|
eligibilite_aide_personnalisee_logement_dot_demandeur_;
|
|
EligibiliteAidePersonnaliseeLogementIn.date_courante_in =
|
|
eligibilite_aide_personnalisee_logement_dot_date_courante_}))) in
|
|
let eligibilite_aide_personnalisee_logement_dot_date_courante_: date = result_.EligibiliteAidePersonnaliseeLogement.date_courante in
|
|
let eligibilite_aide_personnalisee_logement_dot_eligibilite_: bool = result_.EligibiliteAidePersonnaliseeLogement.eligibilite in
|
|
let eligibilite_aide_personnalisee_logement_dot_nombre_personnes_a_charge_prises_en_compte_: integer = result_.EligibiliteAidePersonnaliseeLogement.nombre_personnes_a_charge_prises_en_compte in
|
|
let eligibilite_aide_personnalisee_logement_dot_coefficents_enfants_garde_alternee_pris_en_compte_:
|
|
decimal array = result_.EligibiliteAidePersonnaliseeLogement.coefficents_enfants_garde_alternee_pris_en_compte in
|
|
let calcul_allocation_logement_dot_mode_occupation_: ModeOccupation.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_allocation_logement.mode_occupation"] (embed_mode_occupation)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1086; start_column=14;
|
|
end_line=1086; end_column=56;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(menage_.Menage.logement).Logement.mode_occupation))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1086; start_column=14; end_line=1086; end_column=56;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_allocation_logement_dot_ressources_menage_sans_arrondi_: money =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_allocation_logement.ressources_ménage_sans_arrondi"]
|
|
(embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1090; start_column=14;
|
|
end_line=1090; end_column=58;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_prises_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1090; start_column=14; end_line=1090; end_column=58;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_allocation_logement_dot_situation_familiale_: SituationFamiliale.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_allocation_logement.situation_familiale"]
|
|
(embed_situation_familiale)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1094; start_column=14;
|
|
end_line=1094; end_column=60;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> menage_.Menage.situation_familiale))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1094; start_column=14; end_line=1094; end_column=60;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_allocation_logement_dot_nombre_personnes_a_charge_: integer =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_allocation_logement.nombre_personnes_à_charge"]
|
|
(embed_integer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1101; start_column=14;
|
|
end_line=1101; end_column=66;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
eligibilite_allocation_logement_dot_nombre_personnes_a_charge_prises_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1101; start_column=14; end_line=1101; end_column=66;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_allocation_logement_dot_zone_: ZoneDHabitation.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement"; "calcul_allocation_logement.zone"]
|
|
(embed_zone_d_habitation)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1105; start_column=14;
|
|
end_line=1105; end_column=45;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(menage_.Menage.logement).Logement.zone))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1105; start_column=14; end_line=1105; end_column=45;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_allocation_logement_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_allocation_logement.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1109; start_column=14;
|
|
end_line=1109; end_column=54;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1109; start_column=14; end_line=1109; end_column=54;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_allocation_logement_dot_type_aide_: TypeAidesPersonnelleLogement.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement"; "calcul_allocation_logement.type_aide"]
|
|
(embed_type_aides_personnelle_logement)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1087; start_column=14;
|
|
end_line=1087; end_column=50;
|
|
law_headings=["Article L841-2";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
match
|
|
eligibilite_allocation_logement_dot_eligibilite_l841_2_
|
|
with
|
|
| TypeEligibiliteAllocationLogement.PasEligible _ ->
|
|
(TypeAidesPersonnelleLogement.AllocationLogementSociale
|
|
())
|
|
| TypeEligibiliteAllocationLogement.AllocationLogementFamiliale _ ->
|
|
(TypeAidesPersonnelleLogement.AllocationLogementFamiliale
|
|
())
|
|
| TypeEligibiliteAllocationLogement.AllocationLogementSociale _ ->
|
|
(TypeAidesPersonnelleLogement.AllocationLogementSociale
|
|
())))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1087; start_column=14; end_line=1087; end_column=50;
|
|
law_headings=["Article L841-2"; "Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_allocation_logement_dot_residence_: Collectivite.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement"; "calcul_allocation_logement.résidence"]
|
|
(embed_collectivite)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1113; start_column=14;
|
|
end_line=1113; end_column=50;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> menage_.Menage.residence))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1113; start_column=14; end_line=1113; end_column=50;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let result_: CalculAllocationLogement.t = (log_end_call
|
|
["CalculetteAidesAuLogement"; "calcul_allocation_logement";
|
|
"CalculAllocationLogement"] ((log_begin_call
|
|
["CalculetteAidesAuLogement"; "calcul_allocation_logement";
|
|
"CalculAllocationLogement"] calcul_allocation_logement)
|
|
({CalculAllocationLogementIn.mode_occupation_in =
|
|
calcul_allocation_logement_dot_mode_occupation_;
|
|
CalculAllocationLogementIn.ressources_menage_sans_arrondi_in =
|
|
calcul_allocation_logement_dot_ressources_menage_sans_arrondi_;
|
|
CalculAllocationLogementIn.situation_familiale_in =
|
|
calcul_allocation_logement_dot_situation_familiale_;
|
|
CalculAllocationLogementIn.nombre_personnes_a_charge_in =
|
|
calcul_allocation_logement_dot_nombre_personnes_a_charge_;
|
|
CalculAllocationLogementIn.zone_in =
|
|
calcul_allocation_logement_dot_zone_;
|
|
CalculAllocationLogementIn.date_courante_in =
|
|
calcul_allocation_logement_dot_date_courante_;
|
|
CalculAllocationLogementIn.type_aide_in =
|
|
calcul_allocation_logement_dot_type_aide_;
|
|
CalculAllocationLogementIn.residence_in =
|
|
calcul_allocation_logement_dot_residence_}))) in
|
|
let calcul_allocation_logement_dot_aide_finale_formule_: money = result_.CalculAllocationLogement.aide_finale_formule in
|
|
let calcul_allocation_logement_dot_traitement_aide_finale_: money -> money = result_.CalculAllocationLogement.traitement_aide_finale in
|
|
let calcul_aide_personnalisee_logement_dot_mode_occupation_: ModeOccupation.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_aide_personnalisée_logement.mode_occupation"]
|
|
(embed_mode_occupation)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1084; start_column=14;
|
|
end_line=1084; end_column=64;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(menage_.Menage.logement).Logement.mode_occupation))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1084; start_column=14; end_line=1084; end_column=64;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_aide_personnalisee_logement_dot_type_aide_: TypeAidesPersonnelleLogement.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_aide_personnalisée_logement.type_aide"]
|
|
(embed_type_aides_personnelle_logement)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1085; start_column=14;
|
|
end_line=1085; end_column=58;
|
|
law_headings=["Article L841-2";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
TypeAidesPersonnelleLogement.AidePersonnaliseeLogement
|
|
()))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1085; start_column=14; end_line=1085; end_column=58;
|
|
law_headings=["Article L841-2"; "Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]})) in
|
|
let calcul_aide_personnalisee_logement_dot_ressources_menage_sans_arrondi_: money =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_aide_personnalisée_logement.ressources_ménage_sans_arrondi"]
|
|
(embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1088; start_column=14;
|
|
end_line=1088; end_column=66;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_prises_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1088; start_column=14; end_line=1088; end_column=66;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_aide_personnalisee_logement_dot_situation_familiale_: SituationFamiliale.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_aide_personnalisée_logement.situation_familiale"]
|
|
(embed_situation_familiale)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1092; start_column=14;
|
|
end_line=1092; end_column=68;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> menage_.Menage.situation_familiale))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1092; start_column=14; end_line=1092; end_column=68;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_aide_personnalisee_logement_dot_nombre_personnes_a_charge_: integer =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_aide_personnalisée_logement.nombre_personnes_à_charge"]
|
|
(embed_integer)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1097; start_column=5;
|
|
end_line=1097; end_column=65;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
eligibilite_aide_personnalisee_logement_dot_nombre_personnes_a_charge_prises_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1097; start_column=5; end_line=1097; end_column=65;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_aide_personnalisee_logement_dot_zone_: ZoneDHabitation.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_aide_personnalisée_logement.zone"] (embed_zone_d_habitation)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1103; start_column=14;
|
|
end_line=1103; end_column=53;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(menage_.Menage.logement).Logement.zone))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1103; start_column=14; end_line=1103; end_column=53;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_aide_personnalisee_logement_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_aide_personnalisée_logement.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1107; start_column=14;
|
|
end_line=1107; end_column=62;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1107; start_column=14; end_line=1107; end_column=62;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let calcul_aide_personnalisee_logement_dot_residence_: Collectivite.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"calcul_aide_personnalisée_logement.résidence"]
|
|
(embed_collectivite)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1111; start_column=14;
|
|
end_line=1111; end_column=58;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> menage_.Menage.residence))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1111; start_column=14; end_line=1111; end_column=58;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})) in
|
|
let result_: CalculAidePersonnaliseeLogement.t = (log_end_call
|
|
["CalculetteAidesAuLogement"; "calcul_aide_personnalisée_logement";
|
|
"CalculAidePersonnaliséeLogement"] ((log_begin_call
|
|
["CalculetteAidesAuLogement"; "calcul_aide_personnalisée_logement";
|
|
"CalculAidePersonnaliséeLogement"] calcul_aide_personnalisee_logement)
|
|
({CalculAidePersonnaliseeLogementIn.mode_occupation_in =
|
|
calcul_aide_personnalisee_logement_dot_mode_occupation_;
|
|
CalculAidePersonnaliseeLogementIn.type_aide_in =
|
|
calcul_aide_personnalisee_logement_dot_type_aide_;
|
|
CalculAidePersonnaliseeLogementIn.ressources_menage_sans_arrondi_in =
|
|
calcul_aide_personnalisee_logement_dot_ressources_menage_sans_arrondi_;
|
|
CalculAidePersonnaliseeLogementIn.situation_familiale_in =
|
|
calcul_aide_personnalisee_logement_dot_situation_familiale_;
|
|
CalculAidePersonnaliseeLogementIn.nombre_personnes_a_charge_in =
|
|
calcul_aide_personnalisee_logement_dot_nombre_personnes_a_charge_;
|
|
CalculAidePersonnaliseeLogementIn.zone_in =
|
|
calcul_aide_personnalisee_logement_dot_zone_;
|
|
CalculAidePersonnaliseeLogementIn.date_courante_in =
|
|
calcul_aide_personnalisee_logement_dot_date_courante_;
|
|
CalculAidePersonnaliseeLogementIn.residence_in =
|
|
calcul_aide_personnalisee_logement_dot_residence_}))) in
|
|
let calcul_aide_personnalisee_logement_dot_aide_finale_formule_: money = result_.CalculAidePersonnaliseeLogement.aide_finale_formule in
|
|
let calcul_aide_personnalisee_logement_dot_traitement_aide_finale_:
|
|
money -> money = result_.CalculAidePersonnaliseeLogement.traitement_aide_finale in
|
|
let coefficents_enfants_garde_alternee_pris_en_compte_: decimal array = (log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"coefficents_enfants_garde_alternée_pris_en_compte"]
|
|
(embed_array (embed_decimal)) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1116; start_column=14;
|
|
end_line=1116; end_column=63;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
eligibilite_aide_personnalisee_logement_dot_coefficents_enfants_garde_alternee_pris_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1068; start_column=12; end_line=1068; end_column=61;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})))) in
|
|
let eligibilite_: bool = (log_variable_definition
|
|
["CalculetteAidesAuLogement"; "éligibilité"] (embed_bool) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1076; start_column=14;
|
|
end_line=1076; end_column=25;
|
|
law_headings=["Article L841-2";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
o_or
|
|
eligibilite_aide_personnalisee_logement_dot_eligibilite_
|
|
(match
|
|
eligibilite_allocation_logement_dot_eligibilite_l841_2_
|
|
with
|
|
| TypeEligibiliteAllocationLogement.PasEligible _ ->
|
|
false
|
|
| TypeEligibiliteAllocationLogement.AllocationLogementFamiliale _ ->
|
|
true
|
|
| TypeEligibiliteAllocationLogement.AllocationLogementSociale _ ->
|
|
true)))|]) (fun (_: unit) -> false)
|
|
(fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1064; start_column=12; end_line=1064; end_column=23;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})))) in
|
|
let traitement_aide_finale_: money -> money = (log_variable_definition
|
|
["CalculetteAidesAuLogement"; "traitement_aide_finale"] (unembeddable)
|
|
(fun (aide_finale_: money) ->
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} (
|
|
[||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1114; start_column=14;
|
|
end_line=1114; end_column=36;
|
|
law_headings=["Article L841-2";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
(let aide_finale_apl_ : money = ((log_end_call
|
|
["CalculAidePersonnaliséeLogement";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogement";
|
|
"traitement_aide_finale"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogement";
|
|
"traitement_aide_finale"]
|
|
calcul_aide_personnalisee_logement_dot_traitement_aide_finale_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogement";
|
|
"traitement_aide_finale"; "input0"]
|
|
(embed_money) aide_finale_)))))))
|
|
in
|
|
(let aide_finale_al_ : money = ((log_end_call
|
|
["CalculAllocationLogement";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogement";
|
|
"traitement_aide_finale"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAllocationLogement";
|
|
"traitement_aide_finale"]
|
|
calcul_allocation_logement_dot_traitement_aide_finale_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogement";
|
|
"traitement_aide_finale"; "input0"]
|
|
(embed_money) aide_finale_)))))))
|
|
in
|
|
( if (o_not eligibilite_) then aide_finale_ else
|
|
( if
|
|
(o_and
|
|
eligibilite_aide_personnalisee_logement_dot_eligibilite_
|
|
(o_not
|
|
(match
|
|
eligibilite_allocation_logement_dot_eligibilite_l841_2_
|
|
with
|
|
| TypeEligibiliteAllocationLogement.PasEligible _ ->
|
|
true
|
|
| TypeEligibiliteAllocationLogement.AllocationLogementFamiliale _ ->
|
|
false
|
|
| TypeEligibiliteAllocationLogement.AllocationLogementSociale _ ->
|
|
false))) then
|
|
( if
|
|
(o_gt_mon_mon aide_finale_apl_
|
|
aide_finale_al_) then
|
|
aide_finale_apl_ else aide_finale_al_)
|
|
else
|
|
( if
|
|
eligibilite_aide_personnalisee_logement_dot_eligibilite_
|
|
then aide_finale_apl_ else
|
|
aide_finale_al_)))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1066; start_column=12; end_line=1066; end_column=34;
|
|
law_headings=["Calculette globale";
|
|
"Prologue : aides au logement"]})))) in
|
|
let aide_finale_formule_: money = (log_variable_definition
|
|
["CalculetteAidesAuLogement"; "aide_finale_formule"] (embed_money) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/code_construction_legislatif.catala_fr";
|
|
start_line=1097; start_column=14;
|
|
end_line=1097; end_column=33;
|
|
law_headings=["Article L841-2";
|
|
"Chapitre Ier : Champ d'application";
|
|
"Titre IV : Allocations de logement";
|
|
"Livre VIII : Aides personnelles au logement";
|
|
"Partie législative";
|
|
"Code de la construction et de l'habitation"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
if (o_not eligibilite_) then
|
|
(money_of_cents_string "0") else
|
|
( if
|
|
(o_and
|
|
eligibilite_aide_personnalisee_logement_dot_eligibilite_
|
|
(o_not
|
|
(match
|
|
eligibilite_allocation_logement_dot_eligibilite_l841_2_
|
|
with
|
|
| TypeEligibiliteAllocationLogement.PasEligible _ ->
|
|
true
|
|
| TypeEligibiliteAllocationLogement.AllocationLogementFamiliale _ ->
|
|
false
|
|
| TypeEligibiliteAllocationLogement.AllocationLogementSociale _ ->
|
|
false))) then
|
|
( if
|
|
(o_gt_mon_mon ((log_end_call
|
|
["CalculAidePersonnaliséeLogement";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogement";
|
|
"traitement_aide_finale"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAidePersonnaliséeLogement";
|
|
"traitement_aide_finale"]
|
|
calcul_aide_personnalisee_logement_dot_traitement_aide_finale_)
|
|
((log_variable_definition
|
|
["CalculAidePersonnaliséeLogement";
|
|
"traitement_aide_finale"; "input0"]
|
|
(embed_money)
|
|
calcul_aide_personnalisee_logement_dot_aide_finale_formule_)))))))
|
|
((log_end_call
|
|
["CalculAllocationLogement";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculAllocationLogement";
|
|
"traitement_aide_finale"; "output"]
|
|
(embed_money) ((log_begin_call
|
|
["CalculAllocationLogement";
|
|
"traitement_aide_finale"]
|
|
calcul_allocation_logement_dot_traitement_aide_finale_)
|
|
((log_variable_definition
|
|
["CalculAllocationLogement";
|
|
"traitement_aide_finale"; "input0"]
|
|
(embed_money)
|
|
calcul_allocation_logement_dot_aide_finale_formule_))))))))
|
|
then
|
|
calcul_aide_personnalisee_logement_dot_aide_finale_formule_
|
|
else
|
|
calcul_allocation_logement_dot_aide_finale_formule_)
|
|
else
|
|
( if
|
|
eligibilite_aide_personnalisee_logement_dot_eligibilite_
|
|
then
|
|
calcul_aide_personnalisee_logement_dot_aide_finale_formule_
|
|
else
|
|
calcul_allocation_logement_dot_aide_finale_formule_))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1065; start_column=12; end_line=1065; end_column=31;
|
|
law_headings=["Calculette globale"; "Prologue : aides au logement"]})))) in
|
|
{CalculetteAidesAuLogement.eligibilite = eligibilite_;
|
|
CalculetteAidesAuLogement.aide_finale_formule = aide_finale_formule_;
|
|
CalculetteAidesAuLogement.traitement_aide_finale =
|
|
traitement_aide_finale_;
|
|
CalculetteAidesAuLogement.coefficents_enfants_garde_alternee_pris_en_compte =
|
|
coefficents_enfants_garde_alternee_pris_en_compte_}
|
|
|
|
let calculette_aides_au_logement_garde_alternee (calculette_aides_au_logement_garde_alternee_in: CalculetteAidesAuLogementGardeAlterneeIn.t) : CalculetteAidesAuLogementGardeAlternee.t =
|
|
let menage_: Menage.t = calculette_aides_au_logement_garde_alternee_in.CalculetteAidesAuLogementGardeAlterneeIn.menage_in in
|
|
let demandeur_: Demandeur.t = calculette_aides_au_logement_garde_alternee_in.CalculetteAidesAuLogementGardeAlterneeIn.demandeur_in in
|
|
let date_courante_: date = calculette_aides_au_logement_garde_alternee_in.CalculetteAidesAuLogementGardeAlterneeIn.date_courante_in in
|
|
let ressources_menage_prises_en_compte_: money = calculette_aides_au_logement_garde_alternee_in.CalculetteAidesAuLogementGardeAlterneeIn.ressources_menage_prises_en_compte_in in
|
|
let menage_sans_enfants_garde_alternee_: Menage.t = (log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée";
|
|
"ménage_sans_enfants_garde_alternée"] (embed_menage) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1167; start_column=14;
|
|
end_line=1167; end_column=48;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
{Menage.prestations_recues =
|
|
(menage_.Menage.prestations_recues);
|
|
Menage.logement = (menage_.Menage.logement);
|
|
Menage.personnes_a_charge =
|
|
(o_filter
|
|
(fun
|
|
(personne_a_charge_: PersonneACharge.t) ->
|
|
match personne_a_charge_
|
|
with
|
|
| PersonneACharge.EnfantACharge enfant_ ->
|
|
(match
|
|
(enfant_.EnfantACharge.situation_garde_alternee)
|
|
with
|
|
| SituationGardeAlternee.PasDeGardeAlternee _ ->
|
|
true
|
|
| SituationGardeAlternee.GardeAlterneeCoefficientPriseEnCharge _ ->
|
|
false)
|
|
| PersonneACharge.AutrePersonneACharge _ ->
|
|
true)
|
|
(menage_.Menage.personnes_a_charge));
|
|
Menage.nombre_autres_occupants_logement =
|
|
(menage_.Menage.nombre_autres_occupants_logement);
|
|
Menage.situation_familiale =
|
|
(menage_.Menage.situation_familiale);
|
|
Menage.condition_rattache_foyer_fiscal_parent_ifi =
|
|
(menage_.Menage.condition_rattache_foyer_fiscal_parent_ifi);
|
|
Menage.enfant_a_naitre_apres_quatrieme_mois_grossesse =
|
|
(menage_.Menage.enfant_a_naitre_apres_quatrieme_mois_grossesse);
|
|
Menage.personnes_agees_handicapees_foyer_r844_4 =
|
|
(menage_.Menage.personnes_agees_handicapees_foyer_r844_4);
|
|
Menage.residence = (menage_.Menage.residence)}))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1135; start_column=11; end_line=1135; end_column=45;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})))) in
|
|
let calculette_dot_menage_: Menage.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée"; "calculette.ménage"]
|
|
(embed_menage)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1146; start_column=14;
|
|
end_line=1146; end_column=31;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> menage_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1146; start_column=14; end_line=1146; end_column=31;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})) in
|
|
let calculette_dot_demandeur_: Demandeur.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée"; "calculette.demandeur"]
|
|
(embed_demandeur)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1148; start_column=14;
|
|
end_line=1148; end_column=34;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> demandeur_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1148; start_column=14; end_line=1148; end_column=34;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})) in
|
|
let calculette_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée"; "calculette.date_courante"]
|
|
(embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1150; start_column=14;
|
|
end_line=1150; end_column=38;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1150; start_column=14; end_line=1150; end_column=38;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})) in
|
|
let calculette_dot_ressources_menage_prises_en_compte_: money =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée";
|
|
"calculette.ressources_ménage_prises_en_compte"] (embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1152; start_column=14;
|
|
end_line=1152; end_column=59;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_prises_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1152; start_column=14; end_line=1152; end_column=59;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})) in
|
|
let result_: CalculetteAidesAuLogement.t = (log_end_call
|
|
["CalculetteAidesAuLogementGardeAlternée"; "calculette";
|
|
"CalculetteAidesAuLogement"] ((log_begin_call
|
|
["CalculetteAidesAuLogementGardeAlternée"; "calculette";
|
|
"CalculetteAidesAuLogement"] calculette_aides_au_logement)
|
|
({CalculetteAidesAuLogementIn.menage_in = calculette_dot_menage_;
|
|
CalculetteAidesAuLogementIn.demandeur_in = calculette_dot_demandeur_;
|
|
CalculetteAidesAuLogementIn.date_courante_in =
|
|
calculette_dot_date_courante_;
|
|
CalculetteAidesAuLogementIn.ressources_menage_prises_en_compte_in =
|
|
calculette_dot_ressources_menage_prises_en_compte_}))) in
|
|
let calculette_dot_eligibilite_: bool = result_.CalculetteAidesAuLogement.eligibilite in
|
|
let calculette_dot_aide_finale_formule_: money = result_.CalculetteAidesAuLogement.aide_finale_formule in
|
|
let calculette_dot_traitement_aide_finale_: money -> money = result_.CalculetteAidesAuLogement.traitement_aide_finale in
|
|
let calculette_dot_coefficents_enfants_garde_alternee_pris_en_compte_:
|
|
decimal array = result_.CalculetteAidesAuLogement.coefficents_enfants_garde_alternee_pris_en_compte in
|
|
let calculette_sans_garde_alternee_dot_menage_: Menage.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée";
|
|
"calculette_sans_garde_alternée.ménage"] (embed_menage)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1154; start_column=14;
|
|
end_line=1154; end_column=51;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> menage_sans_enfants_garde_alternee_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1154; start_column=14; end_line=1154; end_column=51;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})) in
|
|
let calculette_sans_garde_alternee_dot_demandeur_: Demandeur.t =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée";
|
|
"calculette_sans_garde_alternée.demandeur"] (embed_demandeur)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1156; start_column=14;
|
|
end_line=1156; end_column=54;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> demandeur_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1156; start_column=14; end_line=1156; end_column=54;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})) in
|
|
let calculette_sans_garde_alternee_dot_date_courante_: date =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée";
|
|
"calculette_sans_garde_alternée.date_courante"] (embed_date)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1158; start_column=14;
|
|
end_line=1158; end_column=58;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true)) (fun (_: unit) -> date_courante_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1158; start_column=14; end_line=1158; end_column=58;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})) in
|
|
let calculette_sans_garde_alternee_dot_ressources_menage_prises_en_compte_: money =
|
|
try ((log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée";
|
|
"calculette_sans_garde_alternée.ressources_ménage_prises_en_compte"]
|
|
(embed_money)
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1161; start_column=5;
|
|
end_line=1161; end_column=70;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> ressources_menage_prises_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1161; start_column=5; end_line=1161; end_column=70;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})) in
|
|
let result_: CalculetteAidesAuLogement.t = (log_end_call
|
|
["CalculetteAidesAuLogementGardeAlternée";
|
|
"calculette_sans_garde_alternée"; "CalculetteAidesAuLogement"]
|
|
((log_begin_call
|
|
["CalculetteAidesAuLogementGardeAlternée";
|
|
"calculette_sans_garde_alternée"; "CalculetteAidesAuLogement"]
|
|
calculette_aides_au_logement)
|
|
({CalculetteAidesAuLogementIn.menage_in =
|
|
calculette_sans_garde_alternee_dot_menage_;
|
|
CalculetteAidesAuLogementIn.demandeur_in =
|
|
calculette_sans_garde_alternee_dot_demandeur_;
|
|
CalculetteAidesAuLogementIn.date_courante_in =
|
|
calculette_sans_garde_alternee_dot_date_courante_;
|
|
CalculetteAidesAuLogementIn.ressources_menage_prises_en_compte_in =
|
|
calculette_sans_garde_alternee_dot_ressources_menage_prises_en_compte_}))) in
|
|
let calculette_sans_garde_alternee_dot_eligibilite_: bool = result_.CalculetteAidesAuLogement.eligibilite in
|
|
let calculette_sans_garde_alternee_dot_aide_finale_formule_: money = result_.CalculetteAidesAuLogement.aide_finale_formule in
|
|
let calculette_sans_garde_alternee_dot_traitement_aide_finale_: money ->
|
|
money = result_.CalculetteAidesAuLogement.traitement_aide_finale in
|
|
let calculette_sans_garde_alternee_dot_coefficents_enfants_garde_alternee_pris_en_compte_:
|
|
decimal array = result_.CalculetteAidesAuLogement.coefficents_enfants_garde_alternee_pris_en_compte in
|
|
let eligibilite_: bool = (log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée"; "éligibilité"] (embed_bool)
|
|
(
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1196; start_column=14;
|
|
end_line=1196; end_column=25;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) -> calculette_dot_eligibilite_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1142; start_column=12; end_line=1142; end_column=23;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})))) in
|
|
let coefficents_enfants_garde_alternee_pris_en_compte_: decimal array = (log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée";
|
|
"coefficents_enfants_garde_alternée_pris_en_compte"]
|
|
(embed_array (embed_decimal)) (
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1165; start_column=14;
|
|
end_line=1165; end_column=63;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]}
|
|
true))
|
|
(fun (_: unit) ->
|
|
calculette_dot_coefficents_enfants_garde_alternee_pris_en_compte_))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1136; start_column=11; end_line=1136; end_column=60;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})))) in
|
|
let aide_finale_: money = (log_variable_definition
|
|
["CalculetteAidesAuLogementGardeAlternée"; "aide_finale"] (embed_money)
|
|
(
|
|
try
|
|
(handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> true)
|
|
(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]}
|
|
([|(fun (_: unit) ->
|
|
handle_default
|
|
{filename = ""; start_line=0; start_column=1;
|
|
end_line=0; end_column=1; law_headings=[]} ([||])
|
|
(fun (_: unit) -> (log_decision_taken
|
|
{filename = "examples/aides_logement/autres_sources.catala_fr";
|
|
start_line=283; start_column=14;
|
|
end_line=283; end_column=25;
|
|
law_headings=["Conseil d'État, 5ème - 4ème chambres réunies, 21/07/2017, 398563"]}
|
|
true))
|
|
(fun (_: unit) -> (log_end_call
|
|
["CalculetteAidesAuLogement";
|
|
"traitement_aide_finale"]
|
|
((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"traitement_aide_finale"; "output"] (embed_money)
|
|
((log_begin_call
|
|
["CalculetteAidesAuLogement";
|
|
"traitement_aide_finale"]
|
|
calculette_dot_traitement_aide_finale_)
|
|
((log_variable_definition
|
|
["CalculetteAidesAuLogement";
|
|
"traitement_aide_finale"; "input0"] (embed_money)
|
|
(o_add_mon_mon
|
|
calculette_sans_garde_alternee_dot_aide_finale_formule_
|
|
( if
|
|
(o_eq
|
|
(o_length
|
|
coefficents_enfants_garde_alternee_pris_en_compte_)
|
|
(integer_of_string "0")) then
|
|
(money_of_cents_string "0") else
|
|
(o_mult_mon_rat
|
|
(o_sub_mon_mon
|
|
calculette_dot_aide_finale_formule_
|
|
calculette_sans_garde_alternee_dot_aide_finale_formule_)
|
|
(o_div_rat_rat
|
|
(o_reduce
|
|
(fun (sum1_: decimal)
|
|
(sum2_: decimal) ->
|
|
o_add_rat_rat sum1_ sum2_)
|
|
(decimal_of_string "0.")
|
|
coefficents_enfants_garde_alternee_pris_en_compte_)
|
|
(o_torat_int
|
|
(o_length
|
|
coefficents_enfants_garde_alternee_pris_en_compte_))))))))))))))|])
|
|
(fun (_: unit) -> false) (fun (_: unit) -> raise EmptyError)))
|
|
with
|
|
EmptyError -> (raise (NoValueProvided
|
|
{filename = "examples/aides_logement/prologue.catala_fr";
|
|
start_line=1143; start_column=12; end_line=1143; end_column=23;
|
|
law_headings=["Calculette avec garde alternée";
|
|
"Prologue : aides au logement"]})))) in
|
|
{CalculetteAidesAuLogementGardeAlternee.eligibilite = eligibilite_;
|
|
CalculetteAidesAuLogementGardeAlternee.aide_finale = aide_finale_}
|